我有一个安装在第三方网站上的代码段。我无法详细介绍,但它通过使用<script>
标记将HTML,CSS和JS加载到页面上。
部分代码是在单击此链接时执行的JS函数:
<a href="#">?</a>
如果页面上存在阻止函数执行的JS错误,那么单击该链接显然只是将该哈希添加到URL并将用户带到页面顶部。这是预期的回退行为。
但是,在一个有大量JS错误的第三方网站上,单击该链接会删除顶级域之后的所有内容,添加哈希值并指向该页面(主页)。例如,链接将从用户处获取:
http://www.example.com/2010/05/14/very-interesting-blog-post/
到
http://www.example.com/#
值得注意的是,问题出现在Firefox和Chrome中,但不是IE9。我知道如果没有更详细的代码,可能无法正确诊断问题,但我不能随意提供它。我只是希望能对这种奇怪的浏览器行为得到某种合理的解释。
如果它有帮助,那么该网站就是一个WordPress博客。提前谢谢。
编辑:这显然不是由网站上的任何JS引起的,因为关闭JS并添加与检查员的链接会产生相同的行为。答案 0 :(得分:2)
我遇到类似的错误,点击任何<a href="#">
会导致整页重新加载。我设法通过从页面的<base href="/">
中删除<head>
标记来解决此问题。我还没有找到任何有关此信息的信息。如果我能找到任何其他信息,我会添加更多信息。
答案 1 :(得分:0)
当您使用windows.onpopstate处理后退或前进按钮并使用ajax加载页面时,会发生此问题。尝试解决您的js代码以处理历史记录。