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

  1. Aaronbus表示:

    bonaslot.site bonaslot Mesin slot digital semakin banyak diminati

  2. ThomasThype表示:

    Kasino menawarkan pengalaman bermain yang seru: slot demo pg gratis – slot demo

  3. Williecrady表示:

    Banyak pemain menikmati bermain slot secara online https://bonaslot.site/# Slot dengan tema budaya lokal menarik perhatian

  4. Williecrady表示:

    Slot modern memiliki grafik yang mengesankan http://bonaslot.site/# Kasino mendukung permainan bertanggung jawab

  5. DavidCooth表示:

    http://garuda888.top/# Slot menawarkan kesenangan yang mudah diakses

  6. Aaronbus表示:

    slot88 slot88 Pemain harus memahami aturan masing-masing mesin

  7. Williecrady表示:

    Bermain slot bisa menjadi pengalaman sosial https://garuda888.top/# п»їKasino di Indonesia sangat populer di kalangan wisatawan

  8. ThomasThype表示:

    Mesin slot digital semakin banyak diminati: slot88.company – slot88.company

  9. ThomasThype表示:

    Beberapa kasino memiliki area khusus untuk slot: BonaSlot – bonaslot.site

  10. DavidCooth表示:

    http://garuda888.top/# Keseruan bermain slot selalu menggoda para pemain

  11. Williecrady表示:

    Pemain harus memahami aturan masing-masing mesin http://bonaslot.site/# п»їKasino di Indonesia sangat populer di kalangan wisatawan

  12. DavidCooth表示:

    https://preman69.tech/# Beberapa kasino memiliki area khusus untuk slot

  13. JamesLok表示:

    Banyak pemain berusaha untuk mendapatkan jackpot https://slot88.company/# Mesin slot menawarkan pengalaman bermain yang cepat

  14. Williecrady表示:

    Mesin slot menawarkan berbagai tema menarik https://slot88.company/# Kasino memiliki suasana yang energik dan menyenangkan

  15. Williecrady表示:

    Slot dengan grafis 3D sangat mengesankan https://slotdemo.auction/# Pemain sering mencoba berbagai jenis slot

  16. DavidCooth表示:

    https://preman69.tech/# Banyak kasino memiliki promosi untuk slot

  17. ThomasThype表示:

    Mesin slot sering diperbarui dengan game baru: garuda888 slot – garuda888 slot

  18. DavidCooth表示:

    http://slot88.company/# Slot menawarkan berbagai jenis permainan bonus

  19. JamesLok表示:

    Slot menawarkan berbagai jenis permainan bonus https://preman69.tech/# Banyak kasino memiliki promosi untuk slot

  20. Williecrady表示:

    Mesin slot digital semakin banyak diminati http://slotdemo.auction/# Banyak pemain berusaha untuk mendapatkan jackpot

  21. ThomasThype表示:

    Banyak pemain menikmati bermain slot secara online: preman69.tech – preman69

  22. DavidCooth表示:

    http://slot88.company/# Pemain harus menetapkan batas saat bermain

  23. JamesLok表示:

    Permainan slot mudah dipahami dan menyenangkan http://slot88.company/# Kasino di Indonesia menyediakan hiburan yang beragam

  24. Williecrady表示:

    Permainan slot mudah dipahami dan menyenangkan http://garuda888.top/# Kasino memastikan keamanan para pemain dengan baik

  25. вывоз старой мебели с грузчиками вывоз старой мебели

  26. Currently it looks like WordPress is the preferred blogging platform available right now. (from what I’ve read) Is that what you are using on your blog?

  27. Aaronbus表示:

    bonaslot.site BonaSlot Slot dengan tema budaya lokal menarik perhatian

  28. ThomasThype表示:

    Kasino di Indonesia menyediakan hiburan yang beragam: bonaslot – bonaslot.site

  29. Overall, Windstar was eight inches longer than a Grand and nearly a foot longer than Villager.

發佈留言

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