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

26,153 Responses

  1. Jimmiegek表示:

    Доска объявлений https://estul.ru/blog по всей России: продавай и покупай товары, заказывай и предлагай услуги. Быстрое размещение, удобный поиск, реальные предложения. Каждый после регистрации получает на баланс аккаунта 100? для возможности бесплатного размещения ваших объявлений

  2. EdwinWency表示:

    www india pharm: www india pharm – www india pharm

  3. Trenterone表示:

    cross border pharmacy canada: go canada pharm – the canadian pharmacy

  4. Jimmiegek表示:

    Доска объявлений https://estul.ru/blog по всей России: продавай и покупай товары, заказывай и предлагай услуги. Быстрое размещение, удобный поиск, реальные предложения. Каждый после регистрации получает на баланс аккаунта 100? для возможности бесплатного размещения ваших объявлений

  5. ChesterFus表示:

    www india pharm: best online pharmacy india – www india pharm

  6. MatthewTek表示:

    http://agbmexicopharm.com/# pharmacies in mexico that ship to usa

  7. Trenterone表示:

    precription drugs from canada: go canada pharm – canadian pharmacy no scripts

  8. ChesterFus表示:

    northwest canadian pharmacy: canada drugs reviews – canada rx pharmacy world

  9. ChesterFus表示:

    Online medicine home delivery: www india pharm – indian pharmacy

  10. ChesterFus表示:

    canadian pharmacy online ship to usa: canadian mail order pharmacy – trusted canadian pharmacy

  11. Trenterone表示:

    prescription drugs canada buy online: GoCanadaPharm – online pharmacy canada

  12. For those interested in equity release, HSBC provides a structured option that adheres to ethical practices. Homeowners can benefit from competitive interest rates and a straightforward application process. Equity release with HSBC can help you fund significant costs without the need for monthly repayments, as the loan is settled when the home is sold.

  13. RobertPaync表示:

    canadian pharmacy checker go canada pharm canadian pharmacy sarasota

  14. Trenterone表示:

    reputable mexican pharmacies online: purple pharmacy mexico price list – Agb Mexico Pharm

  15. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:сервисные центры по ремонту техники в мск
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. MatthewTek表示:

    http://gocanadapharm.com/# canadian pharmacy scam

  17. RobertPaync表示:

    buy prescription drugs from india www india pharm Online medicine home delivery

  18. ChesterFus表示:

    www india pharm: www india pharm – www india pharm

  19. EdwinWency表示:

    canada drug pharmacy: go canada pharm – canadian valley pharmacy

  20. I do not even know how I ended up here, but I thought this post was good. I do not know who you are but certainly you’re going to a famous blogger if you are not already 😉 Cheers!

  21. EdwinWency表示:

    indianpharmacy com: india pharmacy – www india pharm

  22. MatthewTek表示:

    https://wwwindiapharm.com/# п»їlegitimate online pharmacies india

  23. RobertPaync表示:

    reputable mexican pharmacies online mexican drugstore online mexican pharmaceuticals online

  24. Добро пожаловать на vavadaukr.kiev.ua, интересные материалы.
    vavadaukr.kiev.ua – ваш источник, для того чтобы.
    vavadaukr.kiev.ua ждет вас, на котором.
    vavadaukr.kiev.ua – это место.
    С vavadaukr.kiev.ua.
    На vavadaukr.kiev.ua вы найдете.
    Станьте частью vavadaukr.kiev.ua, идеями.
    интересные факты, что.
    Ознакомьтесь с возможностями vavadaukr.kiev.ua, что.
    обширный контент.
    Узнайте больше о vavadaukr.kiev.ua, где.
    vavadaukr.kiev.ua предлагает, поможет в обучении.
    Преимущества vavadaukr.kiev.ua, все самое лучшее.
    vavadaukr.kiev.ua – это ваш проводник в.
    Делитесь своим мнением на vavadaukr.kiev.ua, новые взгляды.
    vavadaukr.kiev.ua – ваша онлайн-платформа, что.
    Откройте для себя, что такое vavadaukr.kiev.ua, вдохновляя на новые идеи.
    vavada 37 vavada 37 .

  25. ChesterFus表示:

    Agb Mexico Pharm: medication from mexico pharmacy – Agb Mexico Pharm

  26. EdwinWency表示:

    top 10 pharmacies in india: buy medicines online in india – www india pharm

  27. MatthewTek表示:

    https://gocanadapharm.shop/# canadian pharmacy ltd

  28. MatthewTek表示:

    http://gocanadapharm.com/# canadian pharmacy 365

  29. Trenterone表示:

    www india pharm: www india pharm – www india pharm

發佈回覆給「сервисные центры москвы」的留言 取消回覆

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