最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JS页面刷新当前页面的一些研究
时间:2022-06-25 15:19:36 编辑:袖梨 来源:一聚教程网
毫不犹豫的使用了以下JS代码
代码如下 | 复制代码 |
parent.window.location.reload(); |
解释下为什么要parent,因为交互操作是在页面提交表单到页面一个隐藏iframe,交互完成后需求刷新当前页面,所以用parent,调用回当前的页面来刷新。
逻辑上没什么问题,确实使用起来也实现了页面刷新。
后来一次无意之中,用FF来执行上面的操作(之前的开发一直是用chrome,我的主浏览器也是chrome),出现了下面一幕
但是chrome就没这问题。这种提示,一般是因为有post过去的数据页面重新刷新才会出现的,但是我刷新当前页,为什么会有数据post呢,让我相当郁闷。
后来百度了一下,发现window.location.reload()这种方法被很多人诟病,原因是当window.location.reload()刷新当前页时,页面里面的iframe也会一并刷新,而FF是会记录iframe曾经打开过的页面的,所以我刷新当前页时,相当于把我刚才提交到iframe的那个处理页在iframe里面又执行一次,故出现上面的情况。
唉,看来又是一个浏览器兼容的hack,真不知说FF强大还是有毛病好......记录iframe页面干嘛!
这里有个DEMO来测试FF下用window.location.reload()刷新当前页是会让iframe也一起刷新的。
当你每次都点重新发送的话,FF将会不断alert和不断弹出这个提示,可以说是死循环...
于是没有办法阿,只能找方法解决呗,网上有解决方案是
代码如下 | 复制代码 |
parent.window.location.href = parent.window.location.href; |
但如果当前页面有锚点的话,这个方法行不通(因为url有锚点的话,是不会刷新的,不懂的话自己扫盲吧)
于是我把上面方法改进了,写成
下面是PHP代码:
代码如下 | 复制代码 |
|
把referer当做刷新的url。因为都是提交处理页到隐藏iframe,所以referer肯定是当前页不会错;取referer的话,因为不会取到锚点所以实现刷新功能也没有问题。
刷新页面的几种方法:
代码如下 | 复制代码 |
1 history.go(0) 自动刷新页面的方法: 其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入 区域中其中20指隔20秒后跳转到http://www.wyxg.com/页面 3.页面自动刷新js版 ASP.NET如何输出刷新父窗口脚本语句 2. this.response.write(""); 3. Response.Write("")
//如何刷新包含该框架的页面用 //子窗口刷新父窗口 如果想关闭窗口时刷新或者想开窗时刷新的话,在 中调用以下语句即可。开窗时刷新 关闭时刷新 |
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21