Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止框架集上的双重刷新_Javascript_Html_Refresh_Frameset - Fatal编程技术网

Javascript 如何防止框架集上的双重刷新

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

在这种情况下,按F5或CTRL+R会导致帧集加载两次帧。它发生在localhost上,但我刚刚为这个问题准备了一个示例并上传了它,我注意到它因浏览器而异

第一次访问链接或单击浏览器地址栏并按enter键可根据需要执行“正常刷新”

下面我放在一起的测试用例有两个框架,一个是空的。加载frame1.html时,frameset然后设置frame2的src,src然后加载frame2.html。两者都应该只发出一次警报,但您会看到“frame2.html”的情况并非如此

按浏览器列出的行为:

  • Chrome16Safari5.1在本地主机/现场都能正常工作
  • FF9在本地主机上翻倍,按预期现场工作
  • IE9在本地主机/实时主机上同时启动
  • 还没有测试过其他/旧的浏览器,但我预计会有一些痛苦
我尝试清除框架集的卸载事件上的src属性,希望它至少在执行双重加载然后加载frame2.html之前不加载任何内容,但即使这样做有效(它没有),也很糟糕

我的问题是:

  • 当双重刷新发生时,为什么会发生
  • 有没有办法防止这种双重性

  • 这是链接:还有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来解释为什么首先会发生框架集加载加倍。

    对不起,刚才澄清了问题的第一部分。