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

  1. срочная помощь вывод из запоя краснодар срочная помощь вывод из запоя краснодар .

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

  3. ClaytonGauct表示:

    п»їlegitimate online pharmacies india: buy medicines online in india – indianpharmacy com

  4. Jamestus表示:

    best india pharmacy indian pharmacy indian pharmacies safe

  5. Jamesknowl表示:

    https://mexicanpharmacy.store/# buying prescription drugs in mexico online

  6. Diplomi_dwpi表示:

    диплом о высшем образовании недорого диплом о высшем образовании недорого .

  7. Jamestus表示:

    mexican border pharmacies shipping to usa purple pharmacy mexico price list mexico pharmacies prescription drugs

  8. Fitch Ratings. “Fitch Affirms Slovenia at ‘A’; Outlook Stable”.

  9. LarryHom表示:

    http://indianpharmacy.win/# п»їlegitimate online pharmacies india

  10. Brianchoky表示:

    https://indianpharmacy.win/# pharmacy website india

  11. ClaytonGauct表示:

    п»їlegitimate online pharmacies india: best india pharmacy – indian pharmacy paypal

  12. Brianchoky表示:

    http://canadianpharmacy.win/# canadapharmacyonline

  13. алкоголизм вывод из запоя краснодар [url=www.vyvod-iz-zapoya-krasnodar115.ru/]алкоголизм вывод из запоя краснодар[/url] .

  14. Jamesknowl表示:

    http://indianpharmacy.win/# cheapest online pharmacy india

  15. вывод из запоя круглосуточно https://www.vyvod-iz-zapoya-krasnodar115.ru .

  16. Jamesknowl表示:

    http://canadianpharmacy.win/# canadian pharmacy meds

  17. As well as this, Mie Prefecture is expanding into more advanced industries together with the manufacture of semiconductors and liquid crystal displays.

  18. One has her hand flippantly on the piano keys in a dress of pink; her good friend has an elbow resting on the piano in a lovely dress of grey and caramel-colored alternate stripes, complete with repeat tied bows.

  19. These syncrude feedstocks are exposed to numerous ranges of heat, pressure, and physical manipulation to provide a substance with the same arrangement of hydrocarbons as naturally occurring crude oil.

  20. LarryHom表示:

    http://indianpharmacy.win/# buy prescription drugs from india

  21. Brianchoky表示:

    https://indianpharmacy.win/# india pharmacy mail order

  22. ClaytonGauct表示:

    canadian pharmacy prices: best canadian online pharmacy – canada drugstore pharmacy rx

  23. ClaytonGauct表示:

    canada rx pharmacy: canadian pharmacies online – canadian pharmacy tampa

  24. Jamesknowl表示:

    https://indianpharmacy.win/# world pharmacy india

發佈留言

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