Javascript 如何防止框架集上的双重刷新
在这种情况下,按F5或CTRL+R会导致帧集加载两次帧。它发生在localhost上,但我刚刚为这个问题准备了一个示例并上传了它,我注意到它因浏览器而异 第一次访问链接或单击浏览器地址栏并按enter键可根据需要执行“正常刷新” 下面我放在一起的测试用例有两个框架,一个是空的。加载frame1.html时,frameset然后设置frame2的src,src然后加载frame2.html。两者都应该只发出一次警报,但您会看到“frame2.html”的情况并非如此 按浏览器列出的行为:Javascript 如何防止框架集上的双重刷新,javascript,html,refresh,frameset,Javascript,Html,Refresh,Frameset,在这种情况下,按F5或CTRL+R会导致帧集加载两次帧。它发生在localhost上,但我刚刚为这个问题准备了一个示例并上传了它,我注意到它因浏览器而异 第一次访问链接或单击浏览器地址栏并按enter键可根据需要执行“正常刷新” 下面我放在一起的测试用例有两个框架,一个是空的。加载frame1.html时,frameset然后设置frame2的src,src然后加载frame2.html。两者都应该只发出一次警报,但您会看到“frame2.html”的情况并非如此 按浏览器列出的行为: Chr
- Chrome16和Safari5.1在本地主机/现场都能正常工作
- FF9在本地主机上翻倍,按预期现场工作
- IE9在本地主机/实时主机上同时启动
- 还没有测试过其他/旧的浏览器,但我预计会有一些痛苦
这是链接:还有rar'd文件:好吧,缺乏解释让我发疯,但我确实找到了一种方法来阻止这种默认的、不一致的行为 我监听框架集的window.unload事件(YUI3.5),并将双重框架节点一起删除。双倍上升消失,一切正常 已在中成功测试(本地主机和live server):
- 铬16.0.912
- Firefox 3.6、9.0.1
- IE 6、7、8和9
- 狩猎5.1
- Opera 11.61(我无法访问和操作frameset元素)
我仍然需要+1来解释为什么首先会发生框架集加载加倍。对不起,刚才澄清了问题的第一部分。