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

  1. CurtisBam表示:

    canadapharmacyonline: canada drugs online reviews – safe reliable canadian pharmacy

  2. AndreDib表示:

    canadian pharmacy ltd https://mexicaneasypharm.shop/# mexican drugstore online
    mail order pharmacy india

  3. WillieHef表示:

    Минимальный депозитПочувствуй Азарт Победы ощути адреналин триумфа / прочувствуй восторг успеха: Играй в Казино Онлайн играй в виртуальном казино / пробуй удачу в онлайн-казино с Минимальным Депозитом с небольшим взносом / с низким порогом входа!

    Мечтаешь о крупных выигрышах о больших призах / о солидных выигрышах, но не готов рисковать большими суммами значительными инвестициями / крупными ставками? У нас есть отличное решение идеальное предложение / прекрасная альтернатива! Погрузись в мир азарта в атмосферу риска / в мир волнения и развлечений игровая забава / увлекательная игра с нашим онлайн-казино, где ты можешь играть на деньги онлайн играть на реальные деньги / ставить на деньги в сети с минимальным депозитом минимальным платежом / небольшим взносом. Забудь о стереотипах отбрось предрассудки / забудь клише, что азартные игры игры на деньги / азартные развлечения – это только для хайроллеров богачей / крупных игроков. Теперь каждый может испытать удачу попробовать судьбу / рискнуть и получить шанс на крупный куш на большой выигрыш / на солидный приз, не выходя из дома не покидая квартиры / из любой точки мира.

    Почему выбирают нас?

    Минимальный депозит Небольшой депозит / Низкий порог входа – максимум возможностей: Начни свою игру начни играть / начни свой игровой путь с небольшого депозита с минимума / с символической суммы и открой для себя мир захватывающих слотов увлекательных игровых автоматов / захватывающих игр, карточных игр карточных развлечений / игр в карты и рулетки игры в рулетку / европейской рулетки. Это отличный шанс прекрасная возможность / уникальный шанс протестировать разные игры попробовать разные игры / испытать различные слоты, разработать свою стратегию создать свою стратегию / придумать тактику и получить первые победы первые выигрыши / первые триумфы без больших вложений без больших трат / без крупных инвестиций. Огромный выбор игр: У нас ты найдешь сотни игр множество игр / огромное количество развлечений на любой вкус на любой вкус и цвет / для любого игрока, от классических слотов от традиционных игровых автоматов / от ретро-слотов до современных видеоигр современных игр / новейших слотов с потрясающей графикой красивой графикой / впечатляющей графикой и увлекательными бонусными раундами захватывающими бонусами / интересными дополнительными раундами. Постоянно добавляются новые игры появляются новые слоты / мы постоянно обновляем ассортимент, чтобы тебе никогда не было скучно чтобы вам никогда не было скучно / чтобы играть было всегда интересно. Играй на деньги онлайн играйте в онлайн казино / играйте за реальные деньги в любое время: Наше казино доступно 24/7 круглосуточно / всегда с любого устройства любого гаджета / любого девайса – компьютера, планшета или смартфона. Ты можешь наслаждаться игрой получать удовольствие от игры / веселиться в любое удобное время в любое время суток / когда вам удобно и в любом месте везде / в любом уголке мира, где есть интернет. Безопасность и надежность: Мы используем самые современные технологии шифрования передовые технологии шифрования / новейшие системы защиты, чтобы гарантировать безопасность твоих личных данных ваших персональных данных / вашей конфиденциальности и финансовых транзакций финансовых операций / платежей. Играй с уверенностью играйте спокойно / играйте без опасений, зная, что твоя информация ваша информация / ваши данные в надежных руках. Быстрые и удобные выплаты быстрый и удобный вывод средств / оперативный вывод средств: Мы ценим твое время мы ценим ваше время / ваше время для нас ценно, поэтому предлагаем различные способы вывода выигрышей различные способы вывода денег / разные варианты получения выигрышей, с быстрой обработкой запросов. Щедрые бонусы и акции выгодные бонусы и акции / щедрые подарки и предложения: Начни свою игру начните играть / начните свое приключение с приятными бонусами приятными подарками / выгодными предложениями, которые увеличат твои шансы на победу ваши шансы на победу / ваши возможности выиграть. Мы регулярно проводим акции проводим различные акции / регулярно радуем вас акциями и турниры турниры для игроков / конкурсы, чтобы сделать твою игру вашу игру / игровой процесс еще более захватывающей более увлекательной / более интересной.

    Как начать играть на деньги онлайн с минимальным депозитом?

    Зарегистрируйся на нашем сайте: Процесс регистрации займет всего пару минут займет считанные секунды / будет очень быстрым. Пополни свой счет пополните баланс / внесите деньги: Выбери удобный способ оплаты выберите удобный метод оплаты / выберите способ пополнения и внеси минимальный депозит внесите минимум / внесите небольшую сумму. Выбери игру выберите игру / найдите игру: Просмотри нашу коллекцию посмотрите наш каталог / ознакомьтесь с нашим ассортиментом и найди свою любимую игру найдите подходящую игру / найдите игру по душе. Начни выигрывать начните выигрывать / начните побеждать: Наслаждайся игрой получайте удовольствие / веселитесь и получай удовольствие от процесса!

    Не откладывай свою удачу на потом! Не упустите свой шанс / Не ждите завтра!

    Присоединяйся к нашему онлайн-казино уже сегодня зарегистрируйтесь прямо сейчас / начинайте играть сегодня и убедись сам убедитесь сами / проверьте сами, что играть на деньги онлайн играть в онлайн казино / играть на реальные деньги может быть не только захватывающе не только интересно / не только увлекательно, но и доступно каждому с минимальным депозитом доступно каждому / подходит каждому. Испытай свою удачу попробуйте свою удачу / проверьте свою фортуну, получи незабываемые эмоции получите яркие впечатления / почувствуйте восторг и, возможно, сорви крупный куш сорвите джекпот / выиграйте крупную сумму!

  4. CurtisBam表示:

    canadianpharmacymeds com: canada rx pharmacy world – canada drugstore pharmacy rx

  5. Brandonnot表示:

    IndianCertPharm: Best Indian pharmacy – Online medicine

  6. CurtisBam表示:

    canadian pharmacy: CanadianMdPharm – canadian family pharmacy

  7. AndreDib表示:

    onlinecanadianpharmacy 24 https://indiancertpharm.com/# Indian Cert Pharm
    best india pharmacy

  8. вывод запой нижний [url=http://www.vyvod-iz-zapoya-nizhnij-novgorod13.ru]вывод запой нижний[/url] .

  9. вывод из запоя в стационаре воронежа [url=vyvod-iz-zapoya-v-stacionare-voronezh22.ru]вывод из запоя в стационаре воронежа[/url] .

  10. Brandonnot表示:

    rate canadian pharmacies: legitimate canadian pharmacies – canadian pharmacy 24

  11. Brandonnot表示:

    thecanadianpharmacy: Canadian Md Pharm – canadapharmacyonline legit

  12. CurtisBam表示:

    reputable canadian pharmacy: CanadianMdPharm – canada rx pharmacy

  13. CurtisBam表示:

    Mexican Easy Pharm: Mexican Easy Pharm – Mexican Easy Pharm

  14. Brandonnot表示:

    canadian pharmacy no scripts: Canadian Md Pharm – canadian pharmacy tampa

  15. CurtisBam表示:

    Mexican Easy Pharm: Mexican Easy Pharm – Mexican Easy Pharm

  16. сколько стоит капельница на дому от запоя сколько стоит капельница на дому от запоя .

  17. Davidjox表示:

    Смотрите «Однажды в сказке» бесплатно без рекламы в хорошем качестве HDRip и русской дублированной озвучке Невафильм, все сезоны

    https://odnazhdy-v-skazke-online.ru/

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

發佈留言

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