يلخص هذا المثال طريقة الاستماع JS لأحداث إغلاق نافذة المتصفح. شاركه للرجوع إليه ، على النحو التالي:
الطريقة 1: (ينطبق على متصفح IE ، وليس هناك مطالبة بالتحديث ، فطالب فقط عند النقر على زر إغلاق المتصفح)
<script type = "text/javaScript"> window.onbeforeunload = onClose ؛ function onClose () {if (event.clientx> document.body.clientwidth && event.clienty <0 || event.altkey) {return "هل تغادر؟الطريقة 2: تنطبق على IE و FF ، دون التمييز بين التحديث والإغلاق
<script type = "text/javaScript"> window.onbeforeUnload = onBeforeUnload_handler ؛ window.onunload = OnUnload_handler ؛ دالة onBeforeUnload_handler () {var warning = "تأكيد الخروج؟" ؛ تحذير العودة } الدالة onUnload_handler () {var warning = "شكرًا لك على المجيء" ؛ تنبيه (تحذير) ؛ } </script>الطريقة 3: قابلة للتطبيق على IE و FF ، دون التمييز بين التحديث والإغلاق ، الأسهل
<script type = "text/javaScript"> window.onbeforeunload = onClose ؛ function onClose () {return "هل أنت متأكد من الخروج؟" ؛} </script>الطريقة 4: تنطبق على IE و FF ، دون التمييز بين التحديث والإغلاق ، معقد بعض الشيء
<script language = "javaScript"> var msg_unload = "إذا تركت نظام الأرشيف في هذا الوقت ، فستفقد جميع معلومات العملية. هل تغادر؟" window.event ؛ event.ReturnValue = infernation_msg ؛ }} // تغيير طريقة الاستماع إلى تحديث المتصفح وإغلاق unloadConfirm.clear = function () {window.onbeforeunload = function () {} ؛} unloadConfirm.set (msg_unload) ؛ </cript>الطريقة 5: مناسبة فقط لأزرار الإغلاق ومفاتيح الاختصار تحت IE6 ، تحديث بدون مطالبات
<script type = "text /javaScript"> window.onbeforeUnload = onClose ؛ function onClose () {var arning = '<fmt: message key = "systemmessage.exitwarning" />' ؛ var extexit = '<fmt: message key = "systemmessage.beforexitwarning" /> ؛ if (event.clienty <0 && event.clientx> document.body.clientwidth-20 || event.clienty <0 && event.clientx <20 || event.altkey || event.ctrlkeyأيضا ، JS لتحديد نوع المتصفح
<script type = "text/javaScript"> var sys = {} ؛ var ua = navigator.useragent.toLowerCase () ؛ إذا (window.activexObject) sys.ie = ua.match (/msie ([/d./201000'0)/) budap1] آخر إذا (document.getBoxObjectfor) sys.firefox = ua.match (/firefox // ([/d.]+)/) ua.match (/chrome // ([/d.]+)/) [1] آخر إذا (window.opera) sys.opera = ua.match (/opera. ([/d.]+)/)/) // اختبار ما يلي إذا (sys.ie) document.write (ie: '+sys.ie) ؛ if (sys.firefox) document.write ('firefox:'+sys.firefox) ؛ if (sys.Chrome) document.write ('Chrome:'+sys.Chrome) ؛ if (sys.opera) document.write ('Opera:'+sys.opera) ؛ if (sys.safari) document.write ('Safari:'+sys.safari) ؛ </script>التفريق بين المتصفحات ، يتم التعامل مع IE و FF بشكل منفصل (من الغريب ، أي فشل في بعض الأحيان)
<script type = "text/javaScript"> window.onbeforeUnload = onClose ؛ function onClose () {var sys = {} ؛ var warning = '<fmt: message key = "systemmessage.exitwarning"/>' ؛ var ua = novigator.useragent.toLOwercase () ؛ ([/d./2000000mensity/) budap11lse if (document.getBoxObjectfor) sys.firefox = ua.match (/firefox // ([/d.]+) ؛}} if (sys.firefox) // لتحذير ffreturn ؛} </script>أسهل طريقة للحكم على نوع المتصفح
<script type = "text/javaScript"> if (-[[1 ،]) {Alert ("هذا ليس متصفح IE!") ؛} آخر {ALERT ("This is IE Browser!") ؛} </script>[1 ،] في المتصفح القياسي ، سيتم إرجاع السلسلة "1" ، والتي تعادل الاتصال [1 ،]
، أي إرجاع "1 ،". ومع ذلك ، فإن IE والمعيار سوف يمررون الكشف ، لذلك استخدم علامة سلبية لإلقاءها في رقم.
يمكن تحويل المعيار بنجاح إلى 1 ، وسيتم تحويل 1 تلقائيًا إلى True في IF ، بينما سيتم تحويل IE إلى NAN ومن ثم التحويل تلقائيًا إلى خطأ!
لمزيد من المعلومات حول المحتوى المتعلق بـ JavaScript ، يرجى مراجعة موضوعات هذا الموقع: "ملخص تقنيات تشغيل JSON في JavaScript" ، "ملخص لتأثيرات تبديل JavaScript وتقنيات" ، ملخص لـ JavaScript Sevonsmes Techniques ". هياكل البيانات وتقنيات الخوارزمية "،" ملخص خوارزميات وتقنيات JavaScript Traversal "و" ملخص استخدام العمليات الرياضية Javascript "
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.