踩到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...

26,157 Responses

  1. DonaldRer表示:

    pin up зеркало: pin up – pin up зеркало

  2. ForrestVal表示:

    пин ап казино онлайн: пин ап казино онлайн – пин ап кз

  3. Тут делают продвижение продвижение клиники seo продвижение медицинских сайтов

  4. Тут делают продвижение создать сайт медицинского центра создание сайта клиники

  5. Тут делают продвижение сео продвижение медицинского сайта seo. медицинских. сайтов

  6. Тут делают продвижение разработка сайт медицинской клиники seo для медицинского центра

  7. Gabrielwaimb表示:

    пин ап кз http://pinupru.site/# пинап казино
    пин ап казино вход

  8. Тут делают продвижение сео продвижение медицинских сайтов сео медицина

  9. Robertdef表示:

    pin-up bonanza pin up giris pin up casino giris

  10. Gabrielwaimb表示:

    pin up kz https://pinupaz.bid/# pin-up kazino
    пин ап казино онлайн

  11. DonaldRer表示:

    пинап казино: пин ап казино вход – пин ап казино вход

  12. DonaldRer表示:

    pin up azerbaijan: pinup az – pin-up oyunu

  13. ForrestVal表示:

    пин ап официальный сайт: пин ап казино вход – пин ап

  14. LeroyAcuff表示:

    Профессиональный сервисный центр сервис смартфонов ремонт телефонов москва дешево

  15. В магазине сейфов предлагают купить сейф 2 сейф 2 класса

  16. baby gate表示:

    Well done! Keep up this quality!

  17. Vavada PL表示:

    If you don’t mind, where do you host your weblog? I am looking for a very good web host and your webpage seams to be extremely fast and up most the time…

  18. ForrestVal表示:

    pin up: pin up azerbaijan – pinup azerbaycan

  19. Louisbealo表示:

    Судебная пожарно-техническая экспертизаСудебная пожарно-техническая экспертиза для установления причин возгорания пожара промышленных объектов, жилых домов, квартир, автомобильного транспорта (легкового и грузового) и т.д.
    Судебное экспертное электротехническое исследованиеСудебное экспертное исследование систем электроснабжения на исследуемых объектах на соответствие требованиям монтажа и эксплуатации согласно с Правилам устройства электроустановок в Республике Казахстан.
    Судебное экспертиза обстоятельств пожараСудебное экспертное исследование объектов для установления механизма и причин возникновения пожара.
    Судебное экспертиза веществ и материаловСудебная экспертиза веществ и материалов на предмет определения горючести материалов и веществ и возможности их воспламенения и самовозгорания.
    Судебное экспертное исследование нефтепродуктов и горюче-смазочных материаловСудебно – экспертное исследование нефтепродуктов и горюче-смазочных материалов на предмет их наличия на месте возникновения пожара.

  20. DonaldRer表示:

    пин ап вход: пинап казино – пинап казино

  21. Gabrielwaimb表示:

    пин ап казино http://pinupturkey.pro/# pin up aviator
    пинап казино

  22. Robertdef表示:

    пин ап вход пин ап зеркало pin up зеркало

  23. Gabrielwaimb表示:

    пин ап казино http://pinupaz.bid/# pin up azerbaijan
    pin up kz

  24. Santopax表示:

    http://pinupkz.tech/# пин ап казино

  25. ForrestVal表示:

    pin up зеркало: pin up зеркало – pin up

  26. Сервисный центр предлагает поменяь экран lg kf300 замена корпуса lg kf300

  27. DonaldRer表示:

    pinup az: pinup az – pinup az

  28. DonaldRer表示:

    пин ап зеркало: pin up – pin up зеркало

發佈回覆給「DonaldRer」的留言 取消回覆

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