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


網路上搜尋了一下解決方案,將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"); }
https://clmhealthpharm.com/# clomid pills
amoxicillin price canada: AmoHealthPharm – amoxicillin 500mg no prescription
doxycycline over the counter singapore: DoxHealthPharm – doxycycline over the counter canada
https://amohealthpharm.com/# generic amoxicillin cost
generic clomid online: ClmHealthPharm – clomid medication
can i order generic clomid now get cheap clomid for sale cost of clomid no prescription
how to order doxycycline DoxHealthPharm doxycycline 100 mg cap over the counter
where to buy amoxicillin 500mg without prescription: amoxicillin order online – amoxicillin 500mg over the counter
372393 331891very nice put up, i definitely enjoy this web website, maintain on it 62923
doxycycline 100mg without a prescription: DoxHealthPharm – doxycycline 100 mg
http://zithropharm.com/# zithromax 250 price
where buy cheap clomid now: cheap clomid without a prescription – can i get cheap clomid without prescription
https://doxhealthpharm.shop/# where to buy doxycycline in australia
where buy cheap clomid pill: can you buy cheap clomid without dr prescription – how to get clomid pills
amoxicillin online canada: AmoHealthPharm – amoxicillin online purchase
clomid order: ClmHealthPharm – can i buy generic clomid without rx
boost of subscribers in telegram channel youtube boost
buy generic clomid: clomid pills – can i order clomid for sale
https://clmhealthpharm.shop/# can you buy generic clomid no prescription
can you buy zithromax over the counter: Zithro Pharm – zithromax
Glad to be one of several visitors on this awful internet site : D.
80 mg doxycycline: DoxHealthPharm – how can i get doxycycline
https://clmhealthpharm.shop/# where buy cheap clomid no prescription
how to buy amoxycillin: order amoxicillin uk – amoxicillin 500mg over the counter
https://zithropharm.shop/# buy zithromax canada
zithromax for sale usa: zithromax 250 mg pill – buy zithromax online with mastercard
over the counter amoxicillin canada: amoxicillin in india – amoxicillin canada price
boost of subscribers in telegram live telegram boost
buy zithromax canada: Zithro Pharm – zithromax 500mg price
how to get generic clomid without dr prescription: ClmHealthPharm – cost of clomid online