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

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

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

    鷹翔宇空

    學習和生活

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
    前段時間,一直在做web項目,總是出現一個問題:用戶輸入了一些內容后,不小心關掉了瀏覽器窗口,或是跳轉到了其它頁面,沒有任何的提示,但是數據就沒有了,其實跳轉還好辦,難就難在關閉瀏覽器時要給出一個提示,很是頭痛,上網查了很多東東,但都沒有結果,,很是郁悶。
    今天無意識的在關閉一篇沒有寫完的隨筆時,突然發現有“如果不保存就會丟失內容”的提示。很是激動。就查看了原文件,雖然很多亂碼,但好在還有一部分可讀的,終于讓我發現了onbeforeunload事件,很是開心。在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>
    這樣每次關閉瀏覽器窗口或涮新頁面時,都要觸發onbeforeunload這個事件,這樣可以對用戶進行提示,避免不必要的遺憾。

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

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

    用法:

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

    描述:
    事件觸發的時候彈出一個有確定和取消的對話框,確定則離開頁面,取消則繼續待在本頁。
    handler可以設一個返回值作為該對話框的顯示文本。

    觸發于:

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

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

    平臺支持:
    IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

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

    Feedback

    # re: 如何避免不小心關掉web瀏覽器窗口 2006-01-06 10:25 zhizhu
    我也遇到同樣的問題,終于解決了,哈哈。謝謝你了
    以前想通過javascript的histroy事件來解決,但是如果用"確定取消"對話框時,點取消還會執行下一個頁面,不知道為什么.  回復  更多評論
      

    # re: 如何避免不小心關掉web瀏覽器窗口 2006-01-06 12:34 TrampEagle
    不用謝,呵呵,如果真要謝的話,其實應該感謝BlogJava,我也是從它上面獲取到的。不過從另一方面也驗證了“處處留心皆學問”這個真理。
    希望我們都能把自己工作過程中解決難題(或問題)的心得體會拿出來共享,使得他人少走彎路,或避免浪費太多的時間。互相交流,共同進步!  回復  更多評論
      

    # re: 如何避免不小心關掉web瀏覽器窗口 2006-01-12 11:24 BlueO2
    我以前有過這種需求,捕獲用戶關閉瀏覽器 找到過此方法,可是還是無法很好的滿足.因為我要明確的知道是關閉瀏覽器,而不是畫面遷徙等如你列出的那些觸發事件.不知道各位有什么辦法判斷沒有.  回復  更多評論
      

    # re: 如何避免不小心關掉web瀏覽器窗口 2006-01-12 17:20 TrampEagle
    TO:BlueO2
    你老兄的問題是不是在頁面上點擊其它連接時不用提示就跳轉至另個頁面阿?
    我上網搜了很久也沒有搜出關閉瀏覽器的事件碼,也不能直接通過判斷來處理,但可以這樣做:
    <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;
    //在此處添加你自己需要處理的方法,或頁面跳轉的連接
    g_blnCheckUnload = true;
    }
    </script>
    <body onbeforeunload="RunOnBeforeUnload()">
    <input type="button" name="TrampEagle" value="TurnToPage" onclick="turnToOtherPage()">
    </body>
    如果還有什么問題,請及時聯系,祝你早日解決問題!!!
      回復  更多評論
      

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

    # re: 如何避免不小心關掉web瀏覽器窗口[未登錄] 2011-04-19 15:02 匿名
    @TrampEagle
    恩,是的。  回復  更多評論
      

    主站蜘蛛池模板: 午夜视频免费成人| 亚洲午夜福利在线观看| 色偷偷女男人的天堂亚洲网| 日韩免费高清大片在线| 色噜噜综合亚洲av中文无码| 亚洲成在人线电影天堂色| 曰批免费视频播放免费| 日韩精品免费一级视频| 亚洲视频一区在线观看| 一区视频免费观看| 国产真实伦在线视频免费观看| 亚洲午夜久久久久久久久电影网 | 亚洲av伊人久久综合密臀性色| 中文字幕在线免费观看视频| 好吊妞998视频免费观看在线| 亚洲人成网站在线播放2019 | 亚洲国产精品高清久久久| 亚洲精品av无码喷奶水糖心| 24小时在线免费视频| 亚洲人成电影在线观看网| 国产成人精品免费直播| 久久国产美女免费观看精品| 亚洲AV日韩AV天堂久久 | 免费无码国产V片在线观看| 亚洲国产精品成人网址天堂| 你懂得的在线观看免费视频| 亚洲国产成人久久综合一区77| 中文无码日韩欧免费视频| 亚洲五月六月丁香激情| 成人毛片免费观看视频大全| 国产免费久久精品丫丫| 亚洲精品欧洲精品| 嫩草影院在线播放www免费观看| 亚洲国产精品人久久电影| 国产午夜鲁丝片AV无码免费 | 亚洲人成人网毛片在线播放| 国产国产人免费人成免费视频| 国产偷伦视频免费观看| 亚洲欧美成人av在线观看| 亚洲一区二区三区无码中文字幕 | 91九色精品国产免费|