1

我有一个调用 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这是另一个链接。我只是举了一个例子其次如果我在运行时添加类那么它适用于那种情况但是一旦页面刷新然后我就没有得到访问的链接,我将无法添加自定义类。我在 jquery 中尝试过“a:visted”,但它返回 0 个项目。我想检查颜色以便优化它。如果我得到访问的颜色,那么我不会为 iframe 设置 src,因为该链接已经在浏览器历史记录中,并且浏览器会处理访问过的链接

4

1 回答 1

1

当您单击链接时,您可以添加一个类(其样式与实际访问的链接相同):

$('.popup').click(function(e) {
    e.preventDefault();
    launchModalNews('http://google.com',this);
    $(this).addClass('visited');
});
于 2013-04-25T10:18:07.057 回答