<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鷹翔宇空

    學(xué)習(xí)和生活

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
    前段時(shí)間,一直在做web項(xiàng)目,總是出現(xiàn)一個(gè)問(wèn)題:用戶輸入了一些內(nèi)容后,不小心關(guān)掉了瀏覽器窗口,或是跳轉(zhuǎn)到了其它頁(yè)面,沒(méi)有任何的提示,但是數(shù)據(jù)就沒(méi)有了,其實(shí)跳轉(zhuǎn)還好辦,難就難在關(guān)閉瀏覽器時(shí)要給出一個(gè)提示,很是頭痛,上網(wǎng)查了很多東東,但都沒(méi)有結(jié)果,,很是郁悶。
    今天無(wú)意識(shí)的在關(guān)閉一篇沒(méi)有寫完的隨筆時(shí),突然發(fā)現(xiàn)有“如果不保存就會(huì)丟失內(nèi)容”的提示。很是激動(dòng)。就查看了原文件,雖然很多亂碼,但好在還有一部分可讀的,終于讓我發(fā)現(xiàn)了onbeforeunload事件,很是開(kāi)心。在BlogJava中,它是這樣用的:
    <script language="javascript">
      g_blnCheckUnload = true;
      function RunOnBeforeUnload() {
         if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';  
         } 
      }
    </script>
    <body  onbeforeunload="RunOnBeforeUnload()">
    </body>
    這樣每次關(guān)閉瀏覽器窗口或涮新頁(yè)面時(shí),都要觸發(fā)onbeforeunload這個(gè)事件,這樣可以對(duì)用戶進(jìn)行提示,避免不必要的遺憾。

    我上網(wǎng)又查了一些這個(gè)事件的用法,感覺(jué)還是http://www.surfchen.org/?p=54這篇寫得最清楚了,摘抄如下:
    onbeforeunload事件:

    注:三大主流瀏覽器中firefox和IE都支持onbeforeunload事件,opera尚未支持。

    用法:

    • object.onbeforeunload = handler
    • <element onbeforeunload = “handler” … ></element>

    描述:
    事件觸發(fā)的時(shí)候彈出一個(gè)有確定和取消的對(duì)話框,確定則離開(kāi)頁(yè)面,取消則繼續(xù)待在本頁(yè)。
    handler可以設(shè)一個(gè)返回值作為該對(duì)話框的顯示文本。

    觸發(fā)于:

    • 關(guān)閉瀏覽器窗口
    • 通過(guò)地址欄或收藏夾前往其他頁(yè)面的時(shí)候
    • 點(diǎn)擊返回,前進(jìn),刷新,主頁(yè)其中一個(gè)的時(shí)候
    • 點(diǎn)擊 一個(gè)前往其他頁(yè)面的url連接的時(shí)候
    • 調(diào)用以下任意一個(gè)事件的時(shí)候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
    • 當(dāng)用window open打開(kāi)一個(gè)頁(yè)面,并把本頁(yè)的window的名字傳給要打開(kāi)的頁(yè)面的時(shí)候。
    • 重新賦予location.href的值的時(shí)候。
    • 通過(guò)input type=”submit”按鈕提交一個(gè)具有指定action的表單的時(shí)候。

    可以用在以下元素:
    BODY, FRAMESET, window

    平臺(tái)支持:
    IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

    posted on 2006-01-06 09:46 TrampEagle 閱讀(7071) 評(píng)論(6)  編輯  收藏 所屬分類: 技術(shù)文摘

    Feedback

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口 2006-01-06 10:25 zhizhu
    我也遇到同樣的問(wèn)題,終于解決了,哈哈。謝謝你了
    以前想通過(guò)javascript的histroy事件來(lái)解決,但是如果用"確定取消"對(duì)話框時(shí),點(diǎn)取消還會(huì)執(zhí)行下一個(gè)頁(yè)面,不知道為什么.  回復(fù)  更多評(píng)論
      

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口 2006-01-06 12:34 TrampEagle
    不用謝,呵呵,如果真要謝的話,其實(shí)應(yīng)該感謝BlogJava,我也是從它上面獲取到的。不過(guò)從另一方面也驗(yàn)證了“處處留心皆學(xué)問(wèn)”這個(gè)真理。
    希望我們都能把自己工作過(guò)程中解決難題(或問(wèn)題)的心得體會(huì)拿出來(lái)共享,使得他人少走彎路,或避免浪費(fèi)太多的時(shí)間?;ハ嘟涣?,共同進(jìn)步!  回復(fù)  更多評(píng)論
      

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口 2006-01-12 11:24 BlueO2
    我以前有過(guò)這種需求,捕獲用戶關(guān)閉瀏覽器 找到過(guò)此方法,可是還是無(wú)法很好的滿足.因?yàn)槲乙鞔_的知道是關(guān)閉瀏覽器,而不是畫(huà)面遷徙等如你列出的那些觸發(fā)事件.不知道各位有什么辦法判斷沒(méi)有.  回復(fù)  更多評(píng)論
      

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口 2006-01-12 17:20 TrampEagle
    TO:BlueO2
    你老兄的問(wèn)題是不是在頁(yè)面上點(diǎn)擊其它連接時(shí)不用提示就跳轉(zhuǎn)至另個(gè)頁(yè)面阿?
    我上網(wǎng)搜了很久也沒(méi)有搜出關(guān)閉瀏覽器的事件碼,也不能直接通過(guò)判斷來(lái)處理,但可以這樣做:
    <script language="javascript">
    var g_blnCheckUnload = true;
    function RunOnBeforeUnload() {
    if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';
    }
    }
    function turnToOtherPage(){
    g_blnCheckUnload = false;
    //在此處添加你自己需要處理的方法,或頁(yè)面跳轉(zhuǎn)的連接
    g_blnCheckUnload = true;
    }
    </script>
    <body onbeforeunload="RunOnBeforeUnload()">
    <input type="button" name="TrampEagle" value="TurnToPage" onclick="turnToOtherPage()">
    </body>
    如果還有什么問(wèn)題,請(qǐng)及時(shí)聯(lián)系,祝你早日解決問(wèn)題?。?!
      回復(fù)  更多評(píng)論
      

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口 2007-07-26 16:03 真有米
    妙!妙~~我可是找了好久  回復(fù)  更多評(píng)論
      

    # re: 如何避免不小心關(guān)掉web瀏覽器窗口[未登錄](méi) 2011-04-19 15:02 匿名
    @TrampEagle
    恩,是的。  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲日韩精品一区二区三区| 中文在线观看国语高清免费| 国产国拍亚洲精品mv在线观看| 手机在线看永久av片免费| A毛片毛片看免费| 黄页网址在线免费观看| 亚洲视频在线观看2018| 亚洲韩国在线一卡二卡| 亚洲情XO亚洲色XO无码| 国产免费久久精品| AA免费观看的1000部电影| 久久aⅴ免费观看| 免费无码作爱视频| 一个人看的www在线免费视频| 亚洲日本成本人观看| 亚洲区视频在线观看| 亚洲图片一区二区| 亚洲AV无码国产丝袜在线观看| 亚洲伦乱亚洲h视频| 免费午夜爽爽爽WWW视频十八禁| 成人激情免费视频| 免费看韩国黄a片在线观看| 免费观看国产网址你懂的| 日韩在线永久免费播放| 国产成人无码区免费内射一片色欲 | 中文字幕不卡亚洲| 亚洲精品偷拍视频免费观看| 免费h黄肉动漫在线观看| 日韩毛片无码永久免费看| 精品国产麻豆免费网站| 成人免费视频软件网站| 成年私人影院免费视频网站| 毛片大全免费观看| 日韩一级免费视频| 午夜国产羞羞视频免费网站| 国产99视频免费精品是看6| 午夜亚洲福利在线老司机| 亚洲精品国产精品乱码不卡| 超清首页国产亚洲丝袜| 亚洲国产一成人久久精品| 亚洲AV无码一区东京热|