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

17,005 Responses

  1. вывод из запоя краснодар наркология вывод из запоя краснодар наркология .

  2. SamuelBix表示:

    buy cipro no rx: CiPharmDelivery – where can i buy cipro online

  3. DanielAbice表示:

    https://clomidonpharm.com/# where to get generic clomid online

  4. вывод из запоя на дому в краснодаре вывод из запоя на дому в краснодаре .

  5. быстрый анонимный вывод из запоя на дому быстрый анонимный вывод из запоя на дому .

  6. RobertJar表示:

    buy cipro online canada: CiPharmDelivery – ciprofloxacin

  7. KennethPah表示:

    prednisone 2.5 mg tab buy prednisone 40 mg prednisone uk price

  8. вывод из запоя на дому санкт-петербург [url=https://www.eisberg.forum24.ru/?1-1-0-00002021-000-0-0-1730826337]вывод из запоя на дому санкт-петербург[/url] .

  9. I can’t express how much I admire the effort the author has put into creating this outstanding piece of content. The clarity of the writing, the depth of analysis, and the wealth of information provided are simply astonishing. His passion for the subject is obvious, and it has undoubtedly made an impact with me. Thank you, author, for providing your knowledge and enlightening our lives with this incredible article!

  10. RobertJar表示:

    prednisone 20mg tablets where to buy: Predni Best – prednisone for sale online

  11. каждый день
    скачать arkada casino arkada casino аркада .

  12. SamuelBix表示:

    prednisone 30 mg tablet: 20 mg prednisone – average cost of prednisone 20 mg

  13. DanielAbice表示:

    http://clomidonpharm.com/# can i purchase generic clomid tablets

  14. DanielAbice表示:

    https://prednibest.com/# prednisone 2.5 mg cost

  15. I appreciate the unique viewpoints you bring to The writing. Very insightful!

  16. You have a gift for explaining things in an understandable way. Thank you!

  17. Elegant and insightful, you tackle hard to understand issues like you’re dancing through words. Shall we dance some more?

發佈留言

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