关闭浏览器的事件
2008-07-15 15:38:22| 分类: [JavaScript]|举报|字号 订阅
在做图片刷新功能的时候,会出现IE图片缓存的问题,试了N多方法都没有效果,最后只有使用每刷新一次修改图片文件名加随机数的方法才勉强解决。但是这样的方法是下次打开浏览器读取图片的时候,上次产生的随机数是动态的,这时候只有让用户关闭浏览器的时候捕捉关闭事件然后将图片更名为一个统一的名字。由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:1.真正的关闭浏览器 2.刷新浏览器。如何判断区分这两种动作呢。
一. Javascript代码处理方法:
function window.onbeforeunload()
{
//用户点击浏览器右上角关闭按钮
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
document.getElementById("btnCompelete").click();
// window.event.returnValue="确定要退出本页吗?";
}
//用户点击任务栏,右键关闭
else if(event.clientY > document.body.clientHeight || event.altKey)
{
document.getElementById("btnCompelete").click();
// window.event.returnValue="确定要退出本页吗?";
}
else//其他情况为刷新
{
alert("你在刷新");
}
}
其中 event.clientX 鼠标光标X坐标 document.body.clientWidth窗体工作区宽度 event.clientY鼠标光标Y坐标 event.altKey 是否按下alt键
二. 事件捕捉方法:
");
退出登录
详细介绍:
1. 下面的表格列出了 window 对象某些属性的相关信息。
2. 属性 方法 描述
3. opener open opener 属性仅在使用 window.open 方法打开的页面中可用。
4. parent, top 无 parent 和 top 属性对 frame 或 iframe 内打开的窗口可用。这两个属性分别返回立即父窗口和最上层的祖先窗口。
5. parent, top open parent 和 top 属性对于通过 open 方法打开或以对话框打开并返回到当前窗口的窗口可用。
6. length 无 不管窗口是怎么打开的,length 属性总是返回窗口中的框架数目。
7. dialogArguments, dialogHeight, dialogLeft, dialogTop, dialogWidth, returnValue showModalDialog 和 showModelessDialog
8.
9.
10. parent 获取对象层次中的父窗口。
11.
12. top 获取最顶层的祖先窗口。
13.
14. ****************************************************************
15. 1、直接从框架页中退出,并转向到新的窗口
16. if (Session["admin"] == null)
17. {
18. Response.Write("");
19. Response.Write("");
20. }
21.
22. 2、如果需要在框架页中关闭当前窗口并打开新窗口
23. 1)先提示关闭当前窗口,并且在确定关闭当前窗口后,打开新窗口.
24. if (Session["admin"] == null)
25. {
26. Response.Write("");
27. Response.Write("");
28. }
29. 同样的效果:
30. if (Session["admin"] == null)
31. {
32. Response.Write("");
33. Response.Write("");
34. }
35. 3、在框架中关闭当前窗口,不提示。并且打开新窗口
36. if (Session["admin"] == null)
37. {
38. Response.Write("");
39. Response.Write("");
40. }
41.
42.
43. if (Session["admin"] == null)
44. {
45. Response.Write("");
46. Response.Write("");
47.
48. Response.Write("");
49. }
50.
51.
52. window属性:
53.
54. opener 设置或获取创建当前窗口的窗口的引用。
55. self 获取对当前窗口或框架的引用。
56.
57. windown方法:
58.
59. close 关闭当前浏览器窗口或 HTML 应用程序(HTA)。
60. open 打开新窗口并装入给定 URL 的文档。
61.
62. 简单总结一下:
63.
64. 两句任意选一句都可完成表面上类似同样的效果。
65. 但是实际效果上的差别:
66. Response.Write("");
67. 这里将parent换成top也可以,没仔细研究为什么。自己使用。我在我的框架里top,left.right(三个框架的right使用无任何问题)
68. 这个是直接转向到新页面,但是地址栏上的后退仍然是可以后退的,虽然点后退会在次返回,可是如我上面的写法,在page_load里,会再次提示“登陆超时,请重新登陆”确定后再返回。这样的效果,我不是很满意,所以得出了下面的使用方法。
69. Response.Write("");
70. 这个的功能是什么实际效果呢?很简单,打开新窗口后,接下来,将原来的框架窗口关闭,注意是新窗口,那么当然后退按钮就变成灰色的了。客户端自然无法后退了。这个效果我比较喜欢。很符合我的原意(比如:不用考虑重复提交之类的问题了)。
71. 另外我加上opener=null这句,是根据我的理解加上去的,好象去掉也照样可以实现同样的效果。这里如果将top换parent也同样可以使用。但是如果换window.close()那提示框又回来了。以上都是在IE6.0以上版本实现的效果,别的浏览器没试验过。
72.
73. 小注:我在查看文章的时候,有人这样说,在需要关闭的窗口
html框架集 js刷新页面方法大全
分类: Web2012-04-26 08:01 502人阅读 评论(0) 收藏 举报
html框架buttonjavascript.netaction
一、先来看一个简单的例子:
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:
复制代码 代码如下: