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

16,465 Responses

  1. You’ve opened my eyes to new perspectives. Thank you for the enlightenment!

  2. WilliamDen表示:

    http://gramster.ru/# пин ап

  3. DarrenWab表示:

    пин ап казино gramster.ru пин ап казино

  4. Jamesboype表示:

    https://gramster.ru/# pinup 2025

  5. Cindi Leman表示:

    The arguments were as compelling as The online persona. I’m totally sold—and not just on The ideas.

  6. The arguments were as compelling as The online persona. I’m totally sold—and not just on The ideas.

  7. RobertCow表示:

    пин ап: gramster.ru – пин ап казино

  8. изи дроп промокод на 100 рублей изи дроп промокод на 100 рублей .

  9. RobertCow表示:

    пин ап: gramster.ru – pinup 2025

  10. A masterpiece of writing—you’ve covered all bases with such finesse, I’m left wanting an encore.

  11. Jamesboype表示:

    https://gramster.ru/# gramster.ru

  12. Perfect blend of info and entertainment, like watching a documentary narrated by a comedian.

  13. изи дроп промокод на 100 рублей изи дроп промокод на 100 рублей .

  14. снятие ломки на дому [url=http://assa0.myqip.ru/?1-3-0-00000320-000-0-0-1730873914]снятие ломки на дому[/url] .

  15. I appreciate the clarity and thoughtfulness you bring to this topic.

  16. изи дроп промокод на 100 рублей изи дроп промокод на 100 рублей .

  17. The insights have added a lot of value to my understanding. Thanks for sharing.

  18. Tu Branch表示:

    The content is like a treasure chest; every post uncovers gems of wisdom. X marks the spot here.

  19. Joy to read and contagious enthusiasm? I thought I was immune, but you proved me wrong.

  20. Anton Clar表示:

    The unique perspective on this subject was enlightening. It’s refreshing to see someone so passionate about their topic.

  21. Trey Artiaga表示:

    Consistently producing high-high quality content, like sending flowers just because. Thank you for The dedication.

發佈留言

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