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

21,194 Responses

  1. Charleskepsy表示:

    pharmacy discount coupons http://familypharmacy.company/# Online pharmacy USA

  2. Charleskepsy表示:

    pharmacy coupons https://familypharmacy.company/# mail order prescription drugs from canada

  3. Davidmoits表示:

    xxl mexican pharm: xxl mexican pharm – xxl mexican pharm

  4. Charleskepsy表示:

    no prescription needed pharmacy https://easycanadianpharm.com/# trusted canadian pharmacy

  5. MichaelGeony表示:

    online pharmacy no prescription http://discountdrugmart.pro/# discount drug mart pharmacy

  6. Porterfax表示:

    drug mart discount drug pharmacy discount drug mart

  7. MichaelGeony表示:

    best canadian pharmacy no prescription http://xxlmexicanpharm.com/# xxl mexican pharm

  8. Davidmoits表示:

    drugmart: drug mart – discount drug mart

  9. MichaelGeony表示:

    cheapest pharmacy for prescriptions without insurance http://familypharmacy.company/# rxpharmacycoupons

  10. WillieRap表示:

    MegaIndiaPharm: Mega India Pharm – Mega India Pharm

  11. WillieRap表示:

    online pharmacy delivery usa: Best online pharmacy – Online pharmacy USA

  12. MichaelGeony表示:

    canadian pharmacies not requiring prescription https://familypharmacy.company/# canadian pharmacy no prescription needed

  13. Porterfax表示:

    discount drug mart pharmacy canada drugs coupon code drug mart

  14. Davidmoits表示:

    discount drug mart pharmacy: drugmart – drugmart

  15. DefiLlama表示:

    I have observed that in the world these days, video games are the latest phenomenon with children of all ages. Many times it may be extremely hard to drag your kids away from the activities. If you want the best of both worlds, there are various educational activities for kids. Great post.

  16. Davidmoits表示:

    medication from mexico pharmacy: buying prescription drugs in mexico – xxl mexican pharm

  17. Porterfax表示:

    mexico drug stores pharmacies mexican drugstore online mexican mail order pharmacies

  18. MichaelGeony表示:

    legit non prescription pharmacies https://xxlmexicanpharm.com/# xxl mexican pharm

  19. WillieRap表示:

    easy canadian pharm: easy canadian pharm – easy canadian pharm

  20. WillieRap表示:

    Online pharmacy USA: Online pharmacy USA – Online pharmacy USA

  21. WillieRap表示:

    discount drug pharmacy: drug mart – drug mart

  22. MichaelGeony表示:

    canadian online pharmacy no prescription http://discountdrugmart.pro/# discount drug mart pharmacy

  23. MichaelGeony表示:

    drugstore com online pharmacy prescription drugs https://megaindiapharm.com/# indian pharmacy

  24. Charleskepsy表示:

    buying prescription drugs from canada https://discountdrugmart.pro/# drug mart

  25. Charleskepsy表示:

    canadian prescription pharmacy https://familypharmacy.company/# online pharmacy delivery usa

  26. MichaelGeony表示:

    buying prescription drugs from canada http://discountdrugmart.pro/# discount drug mart

  27. Plus, stacking your set brings the washer up to eye level, which makes it that much simpler to clean the drum and look for the sock that bought away!

發佈留言

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