国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS針對瀏覽器窗口關閉事件的監聽方法集錦

2019-11-20 09:36:42
字體:
來源:轉載
供稿:網友

本文實例總結了JS針對瀏覽器窗口關閉事件的監聽方法。分享給大家供大家參考,具體如下:

方式一:(適用于IE瀏覽器,而且刷新不提示,只在點擊瀏覽器關閉按鈕的時候提示)

<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){return "您要離開嗎?";}}</script>

方式二:適用于IE和FF,不區分刷新和關閉

<script type="text/javascript">  window.onbeforeunload = onbeforeunload_handler;  window.onunload = onunload_handler;  function onbeforeunload_handler(){    var warning="確認退出?";    return warning;  }  function onunload_handler(){    var warning="謝謝光臨";    alert(warning);  }</script>

方式三:適用于IE和FF,不區分刷新和關閉,最簡單的

<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){return "您確定退出嗎?";}</script>

方式四:適用于IE和FF,不區分刷新和關閉,稍復雜的

<script language="javascript">var MSG_UNLOAD="如果你此時離開檔案系統,所做操作信息將全部丟失,是否離開?";var UnloadConfirm = {};//啟用監聽瀏覽器刷新、關閉的方法UnloadConfirm.set = function(confirm_msg){  window.onbeforeunload = function(event){    event = event || window.event;    event.returnValue = confirm_msg;  }}//關閉監聽瀏覽器刷新、關閉的方法UnloadConfirm.clear = function(){  window.onbeforeunload = function(){};}UnloadConfirm.set(MSG_UNLOAD);</script>

方式五:只適用于IE6下的關閉按鈕和快捷鍵關閉的,刷新不提示

<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){var warnning = '<fmt:message key="systemMessage.exitWarning" />';var beforeExit='<fmt:message key="systemMessage.beforeExitWarning" />'; if(event.clientY<0 && event.clientX>document.body.clientWidth-20 || event.clientY<0 && event.clientX<20 ||event.altKey || event.ctrlKey || event.clientY>document.body.clientHeight){alert(beforeExit);return warnning;}}</script>

另附判斷瀏覽器類型的JS

<script type="text/javascript">    var Sys = {};    var ua = navigator.userAgent.toLowerCase();    if (window.ActiveXObject)      Sys.ie = ua.match(/msie ([/d.]+)/)[1]    else if (document.getBoxObjectFor)      Sys.firefox = ua.match(/firefox//([/d.]+)/)[1]    else if (window.MessageEvent && !document.getBoxObjectFor)      Sys.chrome = ua.match(/chrome//([/d.]+)/)[1]    else if (window.opera)      Sys.opera = ua.match(/opera.([/d.]+)/)[1]    else if (window.openDatabase)      Sys.safari = ua.match(/version//([/d.]+)/)[1];    //以下進行測試    if(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分別處理(奇怪的是,IE下有時候失效)

<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){var Sys = {};var warnning = '<fmt:message key="systemMessage.exitWarning" />';var ua = navigator.userAgent.toLowerCase();if (window.ActiveXObject)  Sys.ie = ua.match(/msie ([/d.]+)/)[1]else if (document.getBoxObjectFor)  Sys.firefox = ua.match(/firefox//([/d.]+)/)[1]if(Sys.ie) {//for IEif(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){window.event.returnValue = warnning ;}}if(Sys.firefox) //for FFreturn warnning;}</script>

最簡單的判斷瀏覽器類型的方法

<script type="text/javascript">if(-[1,]){   alert("這不是IE瀏覽器!");}else{   alert("這是IE瀏覽器!");}</script>

[1,]在標準瀏覽器會返回字符串"1",相當于調用[1,].toString,
,IE則返回"1,"。但是這樣IE與標準都會通過檢測,因此使用負號強制轉換為數字,

標準能成功轉換為1,1會在if中自動轉換為true,而IE則轉換為NaN,再自動轉換為false!

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南皮县| 新竹市| 东乡| 壶关县| 承德市| 抚松县| 马龙县| 高安市| 改则县| 莱州市| 赤城县| 满洲里市| 鱼台县| 龙陵县| 奇台县| 德钦县| 夏河县| 洛隆县| 张家界市| 松原市| 台东县| 鹿邑县| 赤城县| 通榆县| 锦州市| 始兴县| 彭水| 鹿泉市| 昆山市| 灌南县| 建宁县| 会泽县| 巩义市| 安丘市| 平凉市| 咸宁市| 交口县| 望江县| 南靖县| 文登市| 香河县|