Safari 为什么此页面会自动向下滚动到底部?
只有谷歌浏览器和Safari才会出现这种情况。这是相关页面: 打开平台后,单击“发布公寓”,通过ajax加载表单,页面自动滚动到底部,如果向上滚动,页面将再次返回到底部 这是什么原因造成的 编辑:Safari 为什么此页面会自动向下滚动到底部?,safari,google-chrome,Safari,Google Chrome,只有谷歌浏览器和Safari才会出现这种情况。这是相关页面: 打开平台后,单击“发布公寓”,通过ajax加载表单,页面自动滚动到底部,如果向上滚动,页面将再次返回到底部 这是什么原因造成的 编辑: 对此我很抱歉,但我等了几个小时,然后因为它必须被修复,我开始尝试它,并改变了一些事情,最终解决了这个问题。在这个过程中我学到的是: 我在页面上有一个零宽度和高度iframe,作为上传表单的目标,这样我们就可以在不刷新页面的情况下上传照片。此iframe是正文中的最后一个元素。当我将其位置更改为顶部时
对此我很抱歉,但我等了几个小时,然后因为它必须被修复,我开始尝试它,并改变了一些事情,最终解决了这个问题。在这个过程中我学到的是:
iframe
,作为上传表单的目标,这样我们就可以在不刷新页面的情况下上传照片。此iframe
是正文中的最后一个元素。当我将其位置更改为顶部时,滚动从坚持底部位置更改为坚持页面顶部位置。现在页面不允许您向下滚动页面李>
这是个好消息,因为现在我知道不管是什么,它都是由iframe
引起的。iframe
的src
属性设置为#
;我怀疑这一点,并把它改为指向一个真实的文件(一个空白的html框架),使文件和问题消失了李>
因此,我的分析是:浏览器在将文件加载到iframe
时陷入困境,负责加载内容的进程保持运行。这个过程不允许我们滚动到iframe
将离开视口的区域。这是webkit
引擎的错误行为,使用webkit
构建的浏览器演示了此问题
最后,下面的代码片段显示了更改前后的iframe
代码以及新目标文件的内容
马车:
<iframe id="control_target" name="control_target" src="#"
style="width:0;height:0;border:0px solid #fff;"></iframe>
好:
blank.html:
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body> </body>
</html>
最后,我不想把我自己的答案标记为公认的答案,所以我把它放在问题的主体中,我等待有人对这个问题的性质进行更多的解释或提供更好的分析。如果提供了这样的答案,我会将其标记为已接受的答案。在Safari 5中也可以使用。可能表单底部的某个元素正在接收焦点,这会导致页面滚动。我刚刚尝试过,效果很好。使用Chrome(开发频道)感谢Kinlan,在问题解决后,您进入了该页面。阅读我上面的解释。蒂姆,谢谢你尝试这个页面,我很抱歉让你失望,请看我上面的编辑,我找到了答案,在你看到这个页面之前已经修复了。谢谢!这正是我在这里遇到的问题。我有一个通用函数来关注页面的第一个输入,在特定页面上,唯一的输入是页面底部的提交。
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body> </body>
</html>