2013-04-25 69 views
1

我有一个超链接调用JavaScript函数。我的链接呈现如下在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只是举了一个例子 其次,如果我在运行时添加类 首先然后正常工作针对该方案,但刷新页面后那么我没有得到访问过的链接,我将无法添加自定义类。 我试过“a:visted”在jquery中,但它返回0个items.I想检查颜色,以便我可以优化它。 如果我得到访问的颜色,那么我不会设置iframe的src,因为该链接已经在浏览器历史记录中,并且浏览器负责访问链接

+2

难道你不能只用'target =“_ blank”'属性在新标签页中打开它吗?你为什么想在弹出菜单中打开谷歌? – 2013-04-25 10:17:13

+1

您无法通过尝试检测颜色来获取锚点的访问状态== a:visited - 这被认为是一个安全问题(任意检测访问者网站历史记录),现代浏览器将回退到默认颜色。 – 2013-04-25 10:32:12

+0

只需简单地向** a **标签添加一个类,然后单击该标签,然后根据需要定义该类的css – qwerty 2013-04-25 10:36:01

回答

1

您可以添加一个类(它的样式相同当你点击你的链接时:

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