我有一段安装在第三方网站上的代码片段。不能透露太多细节,但它通过使用 <script>
标签将HTML、CSS和JS加载到页面上。
代码的一部分是JS函数,当点击此链接时执行:
<a href="#">?</a>
如果页面上存在JS错误,阻止函数执行,那么点击链接显然只会将哈希添加到URL中并将用户带到页面顶部。这是预期的后备行为。
然而,在一个有大量JS错误的第三方网站上,点击链接会删除顶级域名后面的所有内容,添加哈希并指向该页面(主页)。例如,该链接将把用户从以下位置带到:
http://www.example.com/2010/05/14/very-interesting-blog-post/
to
http://www.example.com/#
值得注意的是,该问题出现在Firefox和Chrome中,但不会在IE9中出现。我知道如果没有更详细的代码可能很难正确诊断此问题,但我无法提供更多信息。我只希望能够得到一些对这种奇怪的浏览器行为合理的解释。
如果有帮助的话,涉及的站点是一个WordPress博客。谢谢您的帮助。
编辑:显然这不是由站点上的任何JS引起的,因为关闭JS并使用检查器添加链接会产生相同的行为。
tabindex=0
,以便使用键盘导航的人仍然可以将焦点放在它上面。或者更好的做法是使用JavaScript插入链接,这样禁用了JavaScript的用户就不会看到一个无效的链接。 - undefined