javascript - 访问链接后,Firefox 有选择地跳过状态更改或 :visited styling

标签 javascript firefox anchor visited

单击具有常见 href 的链接(本地页面或网站)后 并且href加载成功,FF2和IE7都会显示 带有 a:visited 样式的链接。

对于带有 href="javascript:anyfunc()"的链接,IE7 的工作方式如上 而 FF2 不显示 a:visited 样式。没有任何变化 文档类型。

问:JS 链接和 :visited 的行为是否正确?

问:FF2点击JS链接后 anchor 状态是否保持不变?

问:无需附加 onClick 处理程序或修改类/样式 使用JS,有没有一种简洁的方法告诉FF2使用:visted 样式独立于 href 是另一个页面还是 JS 链接?

示例如下:

<html>
<head>
<style>
div.links { font-size: 18px; }
div.links a { color: black; text-decoration: none; }

div.links a:visited { background-color: purple; color: yellow; }
div.links a:hover { background-color: yellow; color: black; }
</style>

<script>
function tfunc(info) { alert("tfunc: info = " + info) }
</script>
</head>
<body>

<div class="links">
    <a href="javascript:tfunc(10)">JS Link 1</a><br>
    <a href="javascript:tfunc(20)">JS Link 2</a><br>
    <a href="http://www.google.com/">Common href, google</a>
</div>

</body>
</html>

最佳答案

对这些类型的链接进行样式设计会很困难...虽然它们可能具有相同的 href,但它们可能通过 JS 执行任何操作(这可能会使访问它看起来不会)。

有没有办法链接到 HTML 页面等内容并将事件处理程序附加到链接(并返回 false 以阻止链接点击)?如果链接实际上是 JS 钩子(Hook),我会使用诸如 <button> 之类的元素。并相应地设置样式...记住添加 cursor: pointer所以最终用户知道它是可点击的

使用内联 javascript:function(something)在 href 中是不好的做法。尝试不引人注目的事件处理程序。

关于javascript - 访问链接后,Firefox 有选择地跳过状态更改或 :visited styling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779722/

相关文章:

javascript - 使用 ES6 的 Promise.all() 时限制并发的最佳方法是什么?

javascript - 脚本在任何基于 WebKit 的浏览器中都可以正常工作,但在 Firefox 中却不行

javascript - 使用 getElementById 获取 anchor 标记的对象

html - 如何将 div 标签制作成链接

javascript - 在表格底部显示页面长度

javascript - Angular.js 只监视特定的对象属性

html - Firefox 中不显示背景图像

python - Flask 重定向 url 与 anchor

javascript - 如何从 <form> 创建变量的字典

python - 无法使用 selenium、python 加载 firefox 配置文件