踩到Window resize在Preview print的雷

最近在作案的過程中遇到一個狀況,從Art design那邊拿到的頁面,會在Window resize的時候執行某個Function,本來一切都正常,但測試到Chrome和Firefox預覽列印時發現也會Trigger這個Event,會讓在預覽列印過後的頁面發生問題,所以必須要進行修正,以下是這個案例的說明:

先在測試頁加入以下的程式,發現在預覽列印的時候會Trigger window resize event:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Preview Print Test</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(window).resize(function() {
            console.log("Window Resize");
        });
    </script>
</head>
<body>
<h1>Window Resize Test</h1>
</body>
</html>
Preview print trigger window resize event
Preview print trigger window resize event

網路上搜尋了一下解決方案,將Script改寫如下,可以順利解決,但不知道是不是最好的方法,如果大家有更好的也別忘了告訴我唷~

openResizeFn();

// Chorme
var print = false;
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function (mql) {
    if (mql.matches) {
        closeResizeFn();
    } else {
        setTimeout(openResizeFn, 2000);
    }
});

// Firefox
window.onbeforeprint = function () {
    closeResizeFn();
};
window.onafterprint = function () {
    setTimeout(openResizeFn, 2000);
};

// Common Function
function openResizeFn() {
    $(window).on("resize", windowResize);
}

function closeResizeFn() {
    $(window).off("resize", windowResize);
}

function windowResize() {
    console.log("Window Resize");
}

You may also like...

6,586 Responses

  1. Davidtes表示:

    3 lisinopril lisinopril generic lisinopril 5 mg over the counter

  2. OLaneevige表示:

    В нашем мире, где диплом – это начало удачной карьеры в любой отрасли, многие пытаются найти максимально быстрый путь получения образования. Наличие официального документа об образовании сложно переоценить. Ведь именно диплом открывает двери перед каждым человеком, который желает вступить в профессиональное сообщество или продолжить обучение в университете.
    Мы предлагаем максимально быстро получить этот важный документ. Вы имеете возможность купить диплом, и это будет отличным решением для человека, который не смог закончить обучение, утратил документ или хочет исправить плохие оценки. дипломы производятся аккуратно, с особым вниманием к мельчайшим деталям, чтобы на выходе получился полностью оригинальный документ.
    Преимущество данного подхода заключается не только в том, что можно быстро получить свой диплом. Весь процесс организовывается удобно, с профессиональной поддержкой. От выбора подходящего образца диплома до грамотного заполнения персональных данных и доставки в любой регион страны — все будет находиться под полным контролем качественных мастеров.
    Всем, кто хочет найти быстрый и простой способ получения необходимого документа, наша услуга предлагает выгодное решение. Приобрести диплом – это значит избежать долгого обучения и не теряя времени переходить к достижению собственных целей, будь то поступление в университет или начало карьеры.

    https://dlplomanrussian.com

  3. Gnznoi表示:

    lanoxin 250mg ca – buy avapro without prescription furosemide pills

  4. RandallTaulp表示:

    cost of cheap propecia without dr prescription: propecia rx – buy cheap propecia online

  5. RandallTaulp表示:

    purchase cipro: cipro pharmacy – cipro online no prescription in the usa

  6. WilliamRhype表示:

    https://lisinopril.network/# cheapest price for lisinopril

  7. GichardPheve表示:

    В нашем обществе, где диплом – это начало успешной карьеры в любой области, многие стараются найти максимально быстрый путь получения качественного образования. Важность наличия документа об образовании переоценить невозможно. Ведь именно диплом открывает дверь перед всеми, кто собирается начать трудовую деятельность или продолжить обучение в высшем учебном заведении.
    В данном контексте мы предлагаем очень быстро получить любой необходимый документ. Вы сможете приобрести диплом старого или нового образца, и это становится отличным решением для всех, кто не смог закончить обучение или утратил документ. Все дипломы выпускаются аккуратно, с максимальным вниманием ко всем элементам. В итоге вы сможете получить продукт, полностью соответствующий оригиналу.
    Превосходство этого решения заключается не только в том, что можно оперативно получить диплом. Процесс организован удобно, с профессиональной поддержкой. Начав от выбора требуемого образца диплома до консультации по заполнению личной информации и доставки по стране — все под абсолютным контролем наших мастеров.
    Всем, кто ищет быстрый способ получить необходимый документ, наша компания предлагает выгодное решение. Купить диплом – значит избежать продолжительного процесса обучения и сразу перейти к своим целям: к поступлению в университет или к началу успешной карьеры.

    https://diplomanc-russia24.com

  8. Davidtes表示:

    ciprofloxacin generic price buy cipro online canada ciprofloxacin generic price

  9. Ronaldpsymn表示:

    http://nolvadex.life/# tamoxifen cancer

  10. RandallTaulp表示:

    can you buy lisinopril online: zestril 5 mg – lisinopril 5 mg uk price

  11. Ismaelfer表示:

    В нашем мире, где диплом – это начало удачной карьеры в любом направлении, многие стараются найти максимально простой путь получения образования. Факт наличия официального документа переоценить просто невозможно. Ведь диплом открывает дверь перед каждым человеком, который желает вступить в профессиональное сообщество или учиться в университете.
    В данном контексте мы предлагаем оперативно получить любой необходимый документ. Вы сможете приобрести диплом нового или старого образца, что является удачным решением для всех, кто не смог завершить обучение, утратил документ или хочет исправить свои оценки. дипломы производятся аккуратно, с максимальным вниманием к мельчайшим элементам, чтобы в результате получился продукт, максимально соответствующий оригиналу.
    Преимущество данного решения состоит не только в том, что вы сможете максимально быстро получить диплом. Процесс организован комфортно, с нашей поддержкой. От выбора необходимого образца до точного заполнения персональной информации и доставки по стране — все находится под полным контролем качественных мастеров.
    Для всех, кто ищет максимально быстрый способ получить требуемый документ, наша услуга предлагает отличное решение. Заказать диплом – это значит избежать долгого процесса обучения и сразу перейти к достижению своих целей, будь то поступление в университет или старт удачной карьеры.

    https://diplomanc-russia24.com

  12. RandallTaulp表示:

    generic tamoxifen: is nolvadex legal – tamoxifen citrate pct

  13. WilliamRhype表示:

    http://nolvadex.life/# effexor and tamoxifen

  14. Davidtes表示:

    buy cipro buy generic ciprofloxacin buy cipro

  15. WilliamRhype表示:

    http://ciprofloxacin.tech/# ciprofloxacin over the counter

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。