踩到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,292 Responses

  1. Matthewweind表示:

    buy zithromax without presc: buy zithromax z-pak online – zithromax 500 without prescription

  2. NicolasLoole表示:

    https://semaglutide.win/# Rybelsus 7mg

  3. Matthewweind表示:

    amoxicillin 800 mg price: amoxicillin cheapest price – amoxicillin 500 mg tablet

  4. Michaelgax表示:

    ivermectin 24 mg ivermectin tablets minocycline 100 mg

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

  6. NicolasLoole表示:

    https://amoxil.llc/# can you buy amoxicillin over the counter canada

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

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

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

  10. Michaelgax表示:

    neurontin 300 buy gabapentin gabapentin 100mg

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

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

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

  14. SamuelCic表示:

    https://amoxil.llc/# can we buy amoxcillin 500mg on ebay without prescription

  15. Профессиональный сервисный центр по ремонту моноблоков iMac в Москве.
    Мы предлагаем: срочный ремонт аймака
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. Профессиональный сервисный центр по ремонту электросамокатов в Москве.
    Мы предлагаем: ремонт колеса электросамоката
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  17. ForrestVal表示:

    pin-up kazino: pin up azerbaijan – pinup az

  18. Gabrielwaimb表示:

    пин ап казахстан http://pinupkz.tech/# пин ап кз
    пин ап кз

  19. Robertdef表示:

    pin up kz пин ап казино вход пинап казино

  20. Gabrielwaimb表示:

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

  21. Santopax表示:

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

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

  23. Профессиональный сервисный центр по ремонту моноблоков iMac в Москве.
    Мы предлагаем: мастер по ремонту imac
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

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

  25. ForrestVal表示:

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

  26. Georgedak表示:

    Вызов сантехника https://santekhnik-moskva.blogspot.com/p/v-moskve.html на дом в Москве и Московской области в удобное для вас время. Сантехнические работы любой сложности, от ремонта унитаза, устранение засора, до замены труб.

  27. Ремонт телефонов表示:

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

發佈留言

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