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

  1. WilliamDen表示:

    https://gramster.ru/# pinup 2025

  2. Jamesboype表示:

    http://gramster.ru/# gramster.ru

  3. DarrenWab表示:

    пин ап казино зеркало gramster пин ап зеркало

  4. vivo xvideos表示:

    Wow tat was strange. I juet wrote aan incredibly lonhg comment but
    afer I clicked submit myy comment didn’t syow up. Grrrr…
    wrll I’m noot writig all thaat over again. Regardless, ust wanted to say wonderful blog!

  5. promokod_sepi表示:

    промокод на продамус [url=www.promokod-prodam.ru]www.promokod-prodam.ru[/url] .

  6. RobertFar表示:

    Следующая страница Аренда авто Бишкек

  7. As of December 2015, only five out of the twelve carriages have been restored.

  8. Location: You will see plenty of pecan bushes in Georgia and Texas, as well as the rest of the southeastern United States, and in Indiana and Ohio.

  9. Their daring design is impressed by iconic Bollywood trend, making them a perfect selection for those who love lively and colorful jewelry.

  10. Sally, the sultry Porsche who left an enormous-metropolis legislation agency for small-town life, persuades the court to sentence McQueen to neighborhood service to repair the highway he wrecked.

  11. promokod_ghpi表示:

    промокод продамус [url=https://promokod-prodam.ru/]https://promokod-prodam.ru/[/url] .

  12. GordonciZ表示:

    Learn More Here smmpanels

  13. promokod_qopi表示:

    промокод продамус http://www.promokod-prodam.ru .

  14. снятие ломок на дому [url=https://taksafonchik.borda.ru/?1-2-0-00001310-000-0-0-1730872677]снятие ломок на дому[/url] .

  15. At the time, almost half of Web Explorer users have been utilizing an unsupported version.

  16. Or do the proclamations of “natural,” “green” and “secure to use” hold true?

  17. This great internet of DNS servers consists of the foundation title servers, which start at the top of the area hierarchy for a given prime-level domain.

  18. The CCLC oversees several day care programs and follows a play-primarily based baby care philosophy.

  19. You don’t need to sweat all night since you introduced a sleeping bag that’s suitable for winter in the midst of the summer season.

  20. симферопольский пансионат для престарелых и инвалидов [url=www.xn—–2-53dwibb3a5adehvkaijkcgoft4dwa1orb.xn--p1ai/]www.xn—–2-53dwibb3a5adehvkaijkcgoft4dwa1orb.xn--p1ai/[/url] .

發佈留言

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