【发布时间】:2012-06-23 02:55:40
【问题描述】:
我有一个安装在第三方网站上的代码 sn-p。我无法详细说明,但它通过使用<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 并添加与检查器的链接会产生相同的行为。
【问题讨论】:
-
关闭所有javascript并尝试一下。
-
感谢您的建议。我在两个浏览器中都这样做了,并且行为保持不变。
-
好的,那么你知道这与javascript无关。我会从您的帖子中删除这些点并将“javascript”重新标记为“html”。您可以点击edit 澄清您的帖子。
-
如果禁用 JavaScript 时该链接永远不应该做任何事情,那么为什么不使用另一个元素而不是链接呢?您需要在其上设置
tabindex=0,以便使用键盘导航的人仍然可以关注它。或者甚至更好地使用 JavaScript 插入链接,这样禁用它的用户就不会看到什么都不做的链接。 -
感谢大家的有益见解。我会试试上面的,让你知道。 @WesleyMurch,我会相应地重新标记帖子。
标签: html hash browser-bugs