3

:visited疑似クラスについていくつか質問があります。

  • :visited擬似クラスをハイパーリンクに適用する必要がある場合、ブラウザは何に基づいて決定しますか?
  • この情報はブラウザのページ履歴から取得されますか、それともセッションごとまたは別の場所に保存されますか?
  • :visited疑似クラスをハイパーリンクに適用する期間を (Web ページの開発者が) 制御することはできますか?

(注:実際の問題を解決しようとしているわけではありません。それがどのように機能するのか疑問に思っているだけです)

4

6 に答える 6

5

ブラウザの履歴に基づいてリンクが訪問されたときに適用されます。履歴をクリアすると、訪問した状態がクリアされます。私の知る限り、「タイムアウト」はありません。

于 2010-08-29T12:41:19.577 に答える
2

通常、ブラウザのページ履歴に保存されます(おそらく何らかのプライバシーモードの場合を除いて、セッションごとではありません)

そのリンクが履歴に存在するかどうかを確認するだけで、存在する場合は:visited. 私の知る限り、それが適用される時間を制御することはできません.

于 2010-08-29T12:41:30.127 に答える
1

1つのことを除いて、ほとんどすべてがカバーされています。いつ適用されますか?ターゲット ページに onload イベントがある場合。すぐにではありません。バックゴーランドの新しいタブでリンクを開くと、スタイルが切り替わるまでに多少の遅延が発生します。これは、外部ページがロードされ、ブラウザが履歴を保存/変更をトリガーするのにかかる正確な時間です。

于 2010-08-29T12:55:25.970 に答える
1

:visited 引数はユーザー履歴ファイルに保存され、ローカルでのみ削除できます。サーバーからそれを制御する方法はありません

なぜタイムアウトを設定したいのですか?必要なものを取得する別の方法があるかもしれません。

あなたができることは、あなたのリンクに次のようなランダムなパラメータを作成することです:

http://www.yourdomain.com/?<random argument>

この方法では、リンクは常に異なり、同じリンクに向けられ、パラメーターを破棄するだけです。

@edit はい、可能です。Cookie を設定し、ユーザーごとにリンクごとに Cookie が最後に設定された時刻を確認し (パラメータを含める)、時間 > 必要な時間の場合は、パラメータを更新します。

于 2010-08-29T12:42:42.170 に答える
1

ターゲットが変更されたときにリンク自体を変更することで、それを有利に制御できます。たとえば、フロント ページのトピック リンクにメッセージ カウントを追加するメッセージ ボード ソフトウェアを見たことがあります。

于 2010-08-29T12:47:53.933 に答える
0

ハイパーリンク ( ) にのみ適用さ<a href>れ、ブラウザ履歴 (セッションではなく) にエントリが見つかった場合にのみ適用されます。

于 2010-08-29T12:41:44.340 に答える