2013-04-25 46 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'); 
});