Html關閉瀏覽器的事件_第1頁
Html關閉瀏覽器的事件_第2頁
Html關閉瀏覽器的事件_第3頁
Html關閉瀏覽器的事件_第4頁
Html關閉瀏覽器的事件_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、關閉瀏覽器的事件  2008-07-15 15:38:22|  分類: JavaScript|舉報|字號 訂閱在做圖片刷新功能的時候,會出現(xiàn)IE圖片緩存的問題,試了N多方法都沒有效果,最后只有使用每刷新一次修改圖片文件名加隨機數(shù)的方法才勉強解決。但是這樣的方法是下次打開瀏覽器讀取圖片的時候,上次產生的隨機數(shù)是動態(tài)的,這時候只有讓用戶關閉瀏覽器的時候捕捉關閉事件然后將圖片更名為一個統(tǒng)一的名字。由于瀏覽器是無狀態(tài)的,在這時候捕捉瀏覽器關閉會出現(xiàn)兩種情況:1.真正的關閉瀏覽器 2.刷新瀏覽器。如何判斷區(qū)分這兩種動作呢。一. Javascri

2、pt代碼處理方法:      function window.onbeforeunload()                         /用戶點擊瀏覽器右上角關閉按鈕        if(event.clientX>docum

3、ent.body.clientWidth&&event.clientY<0|event.altKey)                              document.getElementById("btnCompelete").click();/

4、0;             window.event.returnValue="確定要退出本頁嗎?"                   /用戶點擊任務欄,右鍵關閉        else if(event.

5、clientY > document.body.clientHeight | event.altKey)                    document.getElementById("btnCompelete").click();/            window.ev

6、ent.returnValue="確定要退出本頁嗎?"                    else/其他情況為刷新                        &#

7、160;    alert("你在刷新");                   其中 event.clientX   鼠標光標X坐標     document.body.clientWidth窗體工作區(qū)寬度     event.clientY鼠標光標Y坐標  

8、0;  event.altKey   是否按下alt鍵二. 事件捕捉方法:<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" ></body><script language="JavaScript" type="text/javascript">    

9、0;   var DispClose = true;    function CloseEvent()            if (DispClose)                    return "是否離開當前頁面?" 

10、0;                  function UnLoadEvent()            DispClose = false;        /在這里處理關閉頁面前的動作    在頁面卸載之前引發(fā)onbeforeunloa

11、d事件,如果用戶選擇“是”即確定卸載頁面將引發(fā)onunload事件,否則返回頁面不做任何操作。怎么退出整個框架如:<frameset rows= "74,*,0,0 " cols= "* " frameborder= "NO " border= "0 " framespacing= "0 "> <frame src= "top.aspx " name= "topFrame " scrolling= "NO "

12、 noresize > <frameset cols= "200,* " frameborder= "NO " border= "0 " framespacing= "0 "> <frame src= "left.aspx " name= "leftFrame " scrolling= "NO " noresize> <frame src= "mainFrame.aspx &quo

13、t; name= "mainFrame "> </frameset> <noframes>最簡單的方法:Response.Write( " <script> parent.window.location.href= 'default.aspx ' </script> ");<a href="javascript:parent.window.location.href= './Index.aspx '"><span

14、>退出登錄</span></a>詳細介紹:1. 下面的表格列出了 window 對象某些屬性的相關信息。   2. 屬性 方法 描述   3. opener open opener 屬性僅在使用 window.open 方法打開的頁面中可用。   4. parent, top 無 parent 和 top 屬性對 frame 或 iframe 內打開的窗口可用。這兩個屬性分別返回立即父窗口和最上層的祖先窗口。   5. parent, top open parent 和 top 屬性對

15、于通過 open 方法打開或以對話框打開并返回到當前窗口的窗口可用。   6. length 無 不管窗口是怎么打開的,length 屬性總是返回窗口中的框架數(shù)目。   7. dialogArguments, dialogHeight, dialogLeft, dialogTop, dialogWidth, returnValue showModalDialog 和 showModelessDialog   8.   9.   10. parent 獲取對象層次中的父窗口。  

16、0;11.   12. top 獲取最頂層的祖先窗口。   13.   14. *   15. 1、直接從框架頁中退出,并轉向到新的窗口   16. if (Session"admin" = null)   17.            18.         

17、;     Response.Write("<script language=javascript>alert('登陸超時,請重新登陸!')</script>");   19.              Response.Write("<script language=javascript>top.location.href='

18、./news/manager/login.aspx'</script>");   20.            21.   22. 2、如果需要在框架頁中關閉當前窗口并打開新窗口   23. 1)先提示關閉當前窗口,并且在確定關閉當前窗口后,打開新窗口.   24. if (Session"admin" = null)   25

19、.            26.              Response.Write("<script language=javascript>alert('登陸超時,請重新登陸!')</script>");   27.       &

20、#160;      Response.Write("<script>window.parent.close(); window.open('./news/manager/login.aspx');</script>");           28.           29. 同樣的效果: 

21、60; 30. if (Session"admin" = null)   31.            32.              Response.Write("<script language=javascript>alert('登陸超時,請重新登陸!')<

22、;/script>");   33.              Response.Write("<script>window.opener=null;top.window.close();</script>");   34.           35. 3、在框架中關閉當前窗口,不提示。并

23、且打開新窗口   36. if (Session"admin" = null)   37.            38.              Response.Write("<script language=javascript>alert('登陸超時,請重新登陸

24、!')</script>");   39.              Response.Write("<script>window.open('./news/manager/login.aspx');top.close();</script>");          40. &#

25、160;           41.   42.   43.         if (Session"admin" = null)   44.            45.     

26、;         Response.Write("<script language=javascript>alert('登陸超時,請重新登陸!')</script>");   46.              Response.Write("<script language=javascript>

27、;parent.location.href='./airquery/Admin-manager/index.asp'</script>");   47.   48.              Response.Write("<script language=javascript>window.open('./airquery/Admin-manager/index.as

28、p');opener=null;top.close();</script>");   49.            50.   51.   52. window屬性:   53.   54. opener 設置或獲取創(chuàng)建當前窗口的窗口的引用。   55. self 獲取對當前窗口或框架的引用。   56.   

29、;57. windown方法:   58.   59. close 關閉當前瀏覽器窗口或 HTML 應用程序(HTA)。   60. open 打開新窗口并裝入給定 URL 的文檔。   61.   62. 簡單總結一下:   63.   64. 兩句任意選一句都可完成表面上類似同樣的效果。   65. 但是實際效果上的差別:   66. Response.Write("<script languag

30、e=javascript>parent.location.href='./airquery/Admin-manager/index.asp'</script>");   67. 這里將parent換成top也可以,沒仔細研究為什么。自己使用。我在我的框架里top,left.right(三個框架的right使用無任何問題)   68. 這個是直接轉向到新頁面,但是地址欄上的后退仍然是可以后退的,雖然點后退會在次返回,可是如我上面的寫法,在page_load里,會再次提示“登陸超時,請重新登陸”確定后再返回。這樣的

31、效果,我不是很滿意,所以得出了下面的使用方法。   69. Response.Write("<script language=javascript>window.open('./airquery/Admin-manager/index.asp');opener=null;top.close();</script>");   70. 這個的功能是什么實際效果呢?很簡單,打開新窗口后,接下來,將原來的框架窗口關閉,注意是新窗口,那么當然后退按鈕就變成灰色的了??蛻舳俗匀粺o法后退了。這個效果我比較喜歡

32、。很符合我的原意(比如:不用考慮重復提交之類的問題了)。   71. 另外我加上opener=null這句,是根據(jù)我的理解加上去的,好象去掉也照樣可以實現(xiàn)同樣的效果。這里如果將top換parent也同樣可以使用。但是如果換window.close()那提示框又回來了。以上都是在IE6.0以上版本實現(xiàn)的效果,別的瀏覽器沒試驗過。   72.   73. 小注:我在查看文章的時候,有人這樣說,在需要關閉的窗口<body>里加上onblur="self.close()",然后在用window.close()方

33、法關閉當前窗口也不會出現(xiàn)提示,但是我在我機器上怎么試都不行!不得而知為什么!   74. 另外又有人說,如果是用open()方法打開的子窗口里,直接用windown.close()或top.close()都可以直接關閉窗口,我試了,好象這樣的情況下,在body加上onblur="self.close()"后,的確是可以的,但是不加的沒測試。實現(xiàn)我的效果了。做個簡單的記錄。   html框架集 js刷新頁面方法大全分類: Web2012-04-26 08:01 502人閱讀 評論(0) 收藏

34、60;舉報html框架action一、先來看一個簡單的例子: 下面以三個頁面分別命名為frame.html、top.html、bottom.html為例來具體說明如何做。 frame.html 由上(top.html)下(bottom.html)兩個頁面組成,代碼如下:復制代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.0 Transitional/EN"> <HTML> <HEAD> <TITLE> frame </TIT

35、LE> </HEAD> <frameset rows="50%,50%"> <frame name=top src="top.html"> <frame name=bottom src="bottom.html"> </frameset> </HTML>現(xiàn)在假設top.html (即上面的頁面) 有七個button來實現(xiàn)對bottom.html (即下面的頁面) 的刷新,可以用以下七種語句,哪個好用

36、自己看著辦了。 top.html 頁面的代碼如下: 復制代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.0 Transitional/EN"> <HTML> <HEAD> <TITLE> top.html </TITLE> </HEAD> <BODY> <input type=button value="刷新1" onclick="

37、;window.parent.frames1.location.reload()"><br> <input type=button value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br> <input type=button value="刷新3" onclick="window.parent.frames'bottom'.location.r

38、eload()"><br> <input type=button value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br> <input type=button value="刷新5" onclick="window.parent.frames.item('bottom').location.reload()"><br&g

39、t; <input type=button value="刷新6" onclick="window.parent.bottom.location.reload()"><br> <input type=button value="刷新7" onclick="window.parent'bottom'.location.reload()"><br> </BODY> </HTML>下面是bott

40、om.html頁面源代碼,為了證明下方頁面的確被刷新了,在裝載完頁面彈出一個對話框。 復制代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.0 Transitional/EN"> <HTML> <HEAD> <TITLE> bottom.html </TITLE> </HEAD> <BODY onload="alert('我被加載了!')"> 

41、;<h1>This is the content in bottom.html.</h1> </BODY> </HTML>解釋一下: 復制代碼 代碼如下:1.window指代的是當前頁面,例如對于此例它指的是top.html頁面。 2.parent指的是當前頁面的父頁面,也就是包含它的框架頁面。例如對于此例它指的是framedemo.html。 3.frames是window對象,是一個數(shù)組。代表著該框架內所有子頁面。 4.item是方法。返回數(shù)組里面的元素。 5.如果子頁面也

42、是個框架頁面,里面還是其它的子頁面,那么上面的有些方法可能不行。 附: Javascript刷新頁面的幾種方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document

43、.URL=location.href二、自動刷新頁面 1.頁面自動刷新:把如下代碼加入<head>區(qū)域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次頁面. 2.頁面自動跳轉:把如下代碼加入<head>區(qū)域中 <meta http-equiv="refresh" content="20;url="> 其中20指隔20秒后跳轉到頁面 3.頁面自動刷新js版  <script language="JavaScript"> function myrefresh()  window.location.reload();  setTimeout('myrefresh()',1000); /指定1秒刷新一次 </script>  Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行三、jav

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論