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

29,885 Responses

  1. Kevinclats表示:

    pharmacie ouverte 24/24 pharmacie ouverte 24/24 acheter mГ©dicaments Г  l’Г©tranger

  2. LarryWhope表示:

    http://pharmacieenligne.guru/# Pharmacie en ligne sans ordonnance

  3. LarryWhope表示:

    https://pharmacieenligne.guru/# Pharmacie en ligne sans ordonnance

  4. LarryWhope表示:

    http://kamagrafr.icu/# Acheter médicaments sans ordonnance sur internet

  5. LarryWhope表示:

    https://kamagrafr.icu/# pharmacie ouverte

  6. LarryWhope表示:

    https://levitrafr.life/# Pharmacie en ligne France

  7. Mariophity表示:

    sildenafilo 100mg precio farmacia: sildenafilo precio – venta de viagra a domicilio

  8. Eliseorip表示:

    Viagra Pfizer sans ordonnance: Acheter du Viagra sans ordonnance – Viagra femme ou trouver

  9. LarryWhope表示:

    http://pharmacieenligne.guru/# pharmacie ouverte

  10. yyWzOJM表示:

    Cell senescence plays a key role in age associated organ dysfunction, but the in vivo pathogenesis is largely unclear tadalafil generic vs cialis Some female steroids like clenbuterol or anvarol could be used as stack only if the legal alternatives are involved

  11. Kevinclats表示:

    Viagra homme prix en pharmacie sans ordonnance Acheter du Viagra sans ordonnance Viagra gГ©nГ©rique sans ordonnance en pharmacie

  12. LarryWhope表示:

    http://cialissansordonnance.pro/# acheter médicaments à l’étranger

  13. LarryWhope表示:

    http://kamagrafr.icu/# Pharmacie en ligne fiable

  14. LarryWhope表示:

    http://viagrasansordonnance.store/# Sildénafil 100 mg sans ordonnance

  15. Mariophity表示:

    viagra para hombre venta libre: viagra precio – venta de viagra a domicilio

  16. LarryWhope表示:

    http://cialissansordonnance.pro/# pharmacie en ligne

  17. Eliseorip表示:

    pharmacie ouverte 24/24: Acheter Cialis – Acheter mГ©dicaments sans ordonnance sur internet

  18. LarryWhope表示:

    https://kamagrafr.icu/# acheter medicament a l etranger sans ordonnance

  19. Kevinclats表示:

    pharmacie ouverte cialis generique acheter medicament a l etranger sans ordonnance

  20. LarryWhope表示:

    https://pharmacieenligne.guru/# acheter médicaments à l’étranger

  21. Mariophity表示:

    farmacia envГ­os internacionales: Cialis sin receta – farmacia online internacional

  22. LarryWhope表示:

    https://pharmacieenligne.guru/# Pharmacie en ligne sans ordonnance

  23. Eliseorip表示:

    Pharmacie en ligne sans ordonnance: Levitra acheter – pharmacie ouverte

  24. LarryWhope表示:

    http://cialissansordonnance.pro/# Pharmacie en ligne livraison rapide

  25. Kevinclats表示:

    Acheter mГ©dicaments sans ordonnance sur internet pharmacie ouverte 24/24 п»їpharmacie en ligne

  26. LarryWhope表示:

    http://cialissansordonnance.pro/# Pharmacie en ligne fiable

  27. Ronniewessy表示:

    https://sildenafilo.store/# sildenafilo 100mg precio farmacia

  28. Eddieduart表示:

    farmacias online seguras kamagra oral jelly farmacia envГ­os internacionales

  29. Ronniewessy表示:

    https://farmacia.best/# farmacia envíos internacionales

  30. Mariophity表示:

    п»їfarmacia online: comprar cialis original – farmacia online envГ­o gratis

發佈留言

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