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

15,175 Responses

  1. RobertJar表示:

    amoxicillin 500mg capsules antibiotic: buy amoxicillin online uk – amoxicillin 500

  2. ufabet表示:

    Thanks a lot for the helpful write-up. It is also my opinion that mesothelioma has an incredibly long latency period of time, which means that warning signs of the disease won’t emerge right until 30 to 50 years after the initial exposure to mesothelioma. Pleural mesothelioma, that is the most common variety and has effects on the area round the lungs, could cause shortness of breath, chest pains, and a persistent cough, which may cause coughing up blood vessels.

  3. KennethPah表示:

    rexall pharmacy amoxicillin 500mg can i buy amoxicillin online generic amoxil 500 mg

  4. DanielAbice表示:

    http://clomidonpharm.com/# how to get generic clomid price

  5. DanielAbice表示:

    https://cipharmdelivery.com/# ciprofloxacin generic

  6. DanielAbice表示:

    https://amoxstar.com/# where to buy amoxicillin

  7. KennethPah表示:

    non prescription prednisone 20mg Predni Best prednisone pharmacy

  8. KennethPah表示:

    can you buy prednisone over the counter in canada prednisone best prices generic prednisone for sale

  9. Be certain there is a single focal level.

  10. RobertJar表示:

    buy cipro no rx: ciprofloxacin order online – buy cipro no rx

  11. KennethPah表示:

    can i purchase generic clomid can you buy clomid without a prescription where buy generic clomid pill

  12. DanielAbice表示:

    https://amoxstar.com/# prescription for amoxicillin

  13. Boone County Airlines was the primary airline to provide scheduled service from the airport and had its headquarters at the airport.

  14. 2022 Spirit Halloween: The Film Scenes of the movie have been shot on the DeSoto Theater, Celanese Mill, and a former Toys R Us store.

  15. 伺 おう表示:

    The panelist workforce also asks a query to almost each singer, who only solutions vaguely or evasively.

  16. Mitchell’s submission was drawn, and the Georgia Legislature chartered Rome as an official metropolis in 1835.

  17. RobertJar表示:

    purchase amoxicillin online without prescription: Amox Star – amoxicillin 500mg price canada

  18. KennethPah表示:

    can you buy amoxicillin over the counter amoxicillin generic cost of amoxicillin

  19. What Are The key Options To think about When Choosing An Electric Typewriter?

發佈留言

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