12

(開始する前に、はい、すべての愚かさのチェックを行った、はい、リンクは私の履歴にあり、アクセスされているなど)

私は Chrome バージョン 6.0.472.63 を使用していますが、これがすべてのブラウザーで機能することが重要です。

Firefox、IE、Opera で動作します。

基本的に私がやろうとしているのは、リンクが訪問された場合にリンクの背景画像を変更することだけです.

私は多くの試行錯誤テストを行ってきたので、複数の例についてはご容赦ください。

もともと持ってたのはこれ

.forum_box .title a {
 background-image:url(../images/f_unread.png);
 background-position:10px センター;
 バックグラウンドリピート:リピートなし;
 背景色:透明;
 色:#2D4054;
 フォントサイズ:14px;
 パディング:10px 12px 10px 44px;
 テキスト装飾:なし;
 表示ブロック;
 font-weight:太字;
}
.forum_box .title a:訪問済み {
 background-image:url(../images/f_read.png);
}

Chrome を除くすべてのブラウザで動作します。次にイメージではなく色だけにしてみました。

.forum_box .title a:訪問済み {
 背景色:赤;
}

もう一度同じですが、リンクを透明ではなく #fff に変更し、訪問したリンクが赤に変わったため、親の背景色を設定した場合にのみ背景色が機能するようです。

.forum_box .title a {
 background-image:url(../images/f_unread.png);
 background-position:10px センター;
 バックグラウンドリピート:リピートなし;
 背景色:#fff;
 色:#2D4054;
 フォントサイズ:14px;
 パディング:10px 12px 10px 44px;
 テキスト装飾:なし;
 表示ブロック;
 font-weight:太字;
}
.forum_box .title a:訪問済み {
 背景色:赤;
}

しかし、それでも私のイメージの問題は解決しません。したがって、最後の試みで、何らかの理由でChromeが同じプロパティが両方に存在する場合にのみ機能することを期待して、これを試しました。

.forum_box .title a {
 background:#fff url(../images/f_unread.png) no-repeat 10px center;
 色:#2D4054;
 フォントサイズ:14px;
 パディング:10px 12px 10px 44px;
 テキスト装飾:なし;
 表示ブロック;
 font-weight:太字;
}
.forum_box .title a:訪問済み {
 background:#fff url(../images/f_read.png) no-repeat 10px center;
}

それも機能せず、Firefix、Opera、および IE で引き続き機能しました。だから私はスタックオーバーフローに来て非常に混乱しています。

どんな助けでも大歓迎です!

更新: jQuery ソリューションを試しましたが、まだ機能しません。:visited リンクがあるにもかかわらず、フォントの色を赤に変更することで、訪問済みの状態を確認できます。jQuery('a:visited').length は 0 を返します。

4

5 に答える 5

15

ここでも同じ問題があります。a:visitedのCSS Spriteで背景位置を変更すると、Firefox 3.6では機能しますが、Chrome6では機能しません。

しかし、おそらくすぐにFirefoxでも機能しなくなります。(たぶんFF 4の場合?)

これはプライバシーの問題であり、ここでそれに関するMozillaの記事を読むことができます(2010年3月)http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ そしてバグ: https ://bugzilla.mozilla.org/show_bug.cgi?id = 147777#c160

考えられる解決策は、画像の代わりに背景色をクリエイティブに使用することだけだと思います。

于 2010-10-01T20:24:30.570 に答える
3

おそらくセキュリティの問題です。mozillaセキュリティブログで
この投稿を確認してください。
私は確かに彼らがそれをどのように行うか想像することができます。

于 2010-09-28T02:12:53.417 に答える
3

Chrome は :visited ( color を除く) の css を無効にしているようです。

これは、履歴スニッフィングのエクスプロイトを防ぐためです。

http://www.azarask.in/blog/post/socialhistoryjs/を参照してください。

于 2010-10-07T16:18:17.333 に答える
0

img URL を一重引用符で囲む必要があるかもしれません...ブラウザは、引用符を気にするときと気にしないときについて面白いです....

于 2010-09-24T16:35:08.363 に答える