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

17,761 Responses

  1. CurtisBam表示:

    canadian pharmacy ltd: CanadianMdPharm – canadian pharmacies that deliver to the us

  2. The London subway map is internationally recognized as one of the easiest to grasp and navigate in the world.

  3. First time investors often get over excited and buy up a collection ofcheap houses for sale without understanding what they’re getting themselves into.

  4. CurtisBam表示:

    canadian pharmacy antibiotics: Canadian Md Pharm – online canadian pharmacy reviews

  5. рейтинги процессоров для пк [url=https://topcpu.ru/]https://topcpu.ru/[/url] .

  6. рейтинги процессоров для пк http://www.topcpu.ru/ .

  7. AndreDib表示:

    safe online pharmacies in canada https://indiancertpharm.com/# Online pharmacy
    top 10 pharmacies in india

  8. CurtisBam表示:

    canadian pharmacy oxycodone: CanadianMdPharm – my canadian pharmacy

  9. Carrolleruck表示:

    https://canadianmdpharm.online/# canadian pharmacy com
    canadian online pharmacy reviews

  10. Brandonnot表示:

    IndianCertPharm: Best Indian pharmacy – top 10 online pharmacy in india

  11. выведение из запоя на дому круглосуточно [url=https://vyvod-iz-zapoya-nizhnij-novgorod13.ru/]выведение из запоя на дому круглосуточно[/url] .

  12. AndreDib表示:

    canadian pharmacy oxycodone https://canadianmdpharm.com/# canadian neighbor pharmacy
    pharmacy website india

  13. Carrolleruck表示:

    https://mexicaneasypharm.com/# Mexican Easy Pharm
    cheapest pharmacy canada

  14. капельница при алкогольной интоксикации на дому цена капельница при алкогольной интоксикации на дому цена .

  15. Carrolleruck表示:

    https://mexicaneasypharm.com/# Mexican Easy Pharm
    canadian family pharmacy

  16. LarryReupt表示:

    canadian pharmacy 365 canadian pharmacy world canadian pharmacy uk delivery

  17. Brandonnot表示:

    Best online Indian pharmacy: Online medicine – Indian Cert Pharm

  18. Brandonnot表示:

    Best Indian pharmacy: Online pharmacy – Indian Cert Pharm

  19. LarryReupt表示:

    canadian pharmacy online legal canadian pharmacy online best rated canadian pharmacy

  20. CurtisBam表示:

    Mexican Easy Pharm: buying from online mexican pharmacy – buying from online mexican pharmacy

  21. сравнение процессоров intel https://topcpu.ru/ .

  22. CurtisBam表示:

    Best online Indian pharmacy: IndianCertPharm – IndianCertPharm

  23. AndreDib表示:

    best canadian pharmacy online https://canadianmdpharm.online/# canadian pharmacy near me
    india pharmacy

  24. рейтинг процессоров intel http://topcpu.ru/ .

  25. LarryReupt表示:

    canadian online pharmacy canadian pharmacy buy prescription drugs from canada cheap

  26. CurtisBam表示:

    canada cloud pharmacy: CanadianMdPharm – safe reliable canadian pharmacy

  27. AndreDib表示:

    best canadian pharmacy online https://mexicaneasypharm.com/# mexican rx online
    pharmacy website india

  28. Brandonnot表示:

    Indian Cert Pharm: Online medicine home delivery – indian pharmacies safe

發佈留言

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