在javascript链接上显示访问过的颜色

时间:2013-04-25 10:12:41

标签: javascript jquery html css dom

我有一个调用JavaScript函数的超链接。我的链接呈现如下

<a class="popup" onclick="return launchModalNews('http://google.com',this)" href="http://google.com/">google</a>

在我的JavaScript中,我打开此链接作为弹出窗口,然后返回false,以便我不会离开页面。

由于这个原因,我的链接没有显示为已访问。

要显示为已访问,我创建了一个隐藏的iframe,我在链接点击上设置了src,以便IE维护历史记录。

这很好用,IE可以显示访问的链接,但问题是,现在当我尝试检查链接是否被访问时,我没有得到正确的颜色。

我使用了以下方法:

document.defaultView.getComputedStyle(element, null).color 
jQuery(element).css('color');

这一切都给出了正常的链接颜色而不是访问过的颜色而在页面中我可以看到它已经应用了访问过的链接颜色如何使用jquery / javascript获取真实颜色即访问过的颜色?

其次,这种显示访问链接的方法适用于IE,但不适用于chrome。是否有任何想法如何在Chrome上实现这一点?

[回复更新] 首先,这不是google.com这是另一个link.i只是举了一个例子 第二,如果我在运行时添加类,那么它适用于该场景,但一旦页面刷新,那么我没有得到访问过的链接,我将无法添加自定义类。 我在jquery中尝试了“a:visted”,但它返回0项。我想检查颜色,以便我可以优化它。 如果我获得了访问的颜色,那么我将不会为iframe设置src,因为该链接已经在浏览器历史记录中并且浏览器会处理访问过的链接

1 个答案:

答案 0 :(得分:1)

点击链接后,您可以添加一个类(其方式与实际访问过的链接相同):

$('.popup').click(function(e) {
    e.preventDefault();
    launchModalNews('http://google.com',this);
    $(this).addClass('visited');
});