1

JavaScript 関数を呼び出すハイパーリンクがあります。私のリンクは次のようにレンダリングされます

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

私の JavaScript では、このリンクをポップアップとして開いておりfalse、ページから離れないように戻ります。

このため、私のリンクは訪問済みとして表示されません。

訪問済みとして表示するには、非表示を作成し、IEが履歴を保持するようにリンクをクリックしてiframe設定しています。src

これは正常に機能し、IE はリンクを訪問済みとして表示できますが、問題は、リンクが訪問済みかどうかを確認しようとすると、適切な色が得られないことです。

私は次の方法を使用しました:

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

これはすべて、訪問したリンクの色ではなく通常のリンクの色を与えますが、ページでは、訪問したリンクの色が適用されていることがわかります。実際の色、つまりjquery/javascriptを使用して訪問した色を取得するにはどうすればよいですか?

第二に、訪問したリンクを表示するこの方法はIEでは機能しますが、クロムでは機能しません.クロムでこれを達成する方法はありますか?

[返信の更新] まず第一に、これは 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 に答える