2013-04-23 11 views
6

訪問したリンクにいくつかのエフェクトを追加しようとしていましたが、この問題が発生しました。ここでvisited:before擬似要素の内容を変更できません

はコードです:http://dabblet.com/gist/5447894

のみOperaは成功し:before擬似要素の内容を変更することができます。それ以外のブラウザはすべて失敗します。私は何かが欠けていたか?おかげ

+1

[Firefox 4はレンダリングされません:visited:before(色を除く)](http://stackoverflow.com/questions/5839127/firefox-4-not-rendering-avisitedbefore-except-color) – bookcasey

答えて

9

訪れたリンクの許可(=無視されていない)CSSプロパティはcolorbackground-colorborder-*-coloroutline-colorと、column-rule-color(特定の状況下ではそれ以上)です。

これは、履歴を盗む攻撃を防ぐためです。詳細はthis articleを参照してください。

技術的には、:visitedリンクの疑似クラスを:beforeに設定できますが、無視され、リンクが訪問されていないかのように表示されます。 )

+0

ありがとう、私はオペラが動作させることができることに驚いています:) – Peiwen

+1

これは、オペラがセキュリティの不足を持っていることを意味します! –

2

現代的なブラウザでは、現代的なブラウザでは、:visitedのリンクをスタイリングするための可能性が非常に限られています。そのため、ユーザーが以前チェックしたサイトを検出できませんでした計算されたスタイルをjavascriptで返します。

:visitedリンクのスタイリングのための許容特性がフィルとストロークの

  • color
  • background-color
  • border-color(及びそのサブプロパティ)
  • outline-color
  • 色部であります特性

でも、javascriptを使用して訪問済みリンクの計算されたスタイルの値を取得することはできません。

詳しくはhereをご覧ください。

+0

ご説明いただきありがとうございます:) – Peiwen

関連する問題