版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关闭浏览器的事件 2008-07-15 15:38:22| 分类: JavaScript|举报|字号 订阅在做图片刷新功能的时候,会出现IE图片缓存的问题,试了N多方法都没有效果,最后只有使用每刷新一次修改图片文件名加随机数的方法才勉强解决。但是这样的方法是下次打开浏览器读取图片的时候,上次产生的随机数是动态的,这时候只有让用户关闭浏览器的时候捕捉关闭事件然后将图片更名为一个统一的名字。由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:1.真正的关闭浏览器 2.刷新浏览器。如何判断区分这两种动作呢。一. 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窗体工作区宽度 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; /在这里处理关闭页面前的动作 在页面卸载之前引发onbeforeunloa
11、d事件,如果用户选择“是”即确定卸载页面将引发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 属性总是返回窗口中的框架数目。 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 设置或获取创建当前窗口的窗口的引用。 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. 这个的功能是什么实际效果呢?很简单,打开新窗口后,接下来,将原来的框架窗口关闭,注意是新窗口,那么当然后退按钮就变成灰色的了。客户端自然无法后退了。这个效果我比较喜欢
32、。很符合我的原意(比如:不用考虑重复提交之类的问题了)。 71. 另外我加上opener=null这句,是根据我的理解加上去的,好象去掉也照样可以实现同样的效果。这里如果将top换parent也同样可以使用。但是如果换window.close()那提示框又回来了。以上都是在IE6.0以上版本实现的效果,别的浏览器没试验过。 72. 73. 小注:我在查看文章的时候,有人这样说,在需要关闭的窗口<body>里加上onblur="self.close()",然后在用window.close()方
33、法关闭当前窗口也不会出现提示,但是我在我机器上怎么试都不行!不得而知为什么! 74. 另外又有人说,如果是用open()方法打开的子窗口里,直接用windown.close()或top.close()都可以直接关闭窗口,我试了,好象这样的情况下,在body加上onblur="self.close()"后,的确是可以的,但是不加的没测试。实现我的效果了。做个简单的记录。 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>现在假设top.html (即上面的页面) 有七个button来实现对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对象,是一个数组。代表着该框架内所有子页面。 4.item是方法。返回数组里面的元素。 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>区域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中 <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需刷新才能执行三、jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入厂打工合同范例
- 聚合物合成课程设计
- 新车分期租赁合同范例
- 定制窗户配件合同范例
- 全科医学导论模拟习题(含参考答案)
- 农村水源地租赁合同范例
- 保姆雇佣合同范例
- 电车电池质保合同范例
- 2025年西双版纳道路运输从业资格考试系统
- 果园管护合同范例
- 学校食堂应对临时增员的预案
- 康复治疗技术历年真题单选题100道及答案
- 北京邮电大学《自然语言处理基础》2022-2023学年期末试卷
- 毕业答辩基于4P理论研究ZARA快时尚品牌在国内的研究策略李丹
- 汉字文化解密学习通超星期末考试答案章节答案2024年
- 医生给病人免责协议书(2篇)
- 沪科版2023~2024学年七年级上学期期末考试数学预测卷(二)(含答案)
- 第二章 田径-短跑途中跑技术 教案 2023-2024学年人教版初中体育与健康七年级全一册
- 空运陆运操作岗位招聘面试题及回答建议(某大型国企)2024年
- 《元旦新气象梦想再起航》主题班会
- 2024-2030年中国集中供热行业供需平衡与投资运行模式规划研究报告
评论
0/150
提交评论