1

私は

<a href="my_redirect_page.php?link=mylink">my_text</a> 

私のページのリンク、およびmy_redirect_page.phpの次の行:

header("Location: ".$mylink); 

しかし、リダイレクト後、ブラウザで戻るをクリックすると、リンクの「my_text」が訪問済みとして表示されません(青ではなく紫で)。これを回避するにはどうすればよいですか?phpまたはjavascriptで訪問したプロパティを変更する方法はありますか?

ありがとう、

デイブ

4

2 に答える 2

1

素晴らしい解決策ではありませんが、my_redirect_page.phpで:

<html>
<head>
<title>Redirecting...</title>
<meta http-equiv="refresh" content="0; url=<?php echo $_GET['link']; ?>">
</head>
<body>
Redirecting to <?php echo html_entities( $_GET['link'] ); ?>.<br>
If you are not redirected, <a href="<?php echo $_GET['link']; ?>">click here</a>.
</body>
</html>

または、そのようなもの - ページがロードされ (それによってブラウザの履歴に入ります)、0 の遅延で、ターゲット URL がロードされます。何らかの理由でリダイレクトが失敗した場合、ユーザーには、ターゲット URL へのリンクを含むページが表示されます。

于 2010-06-28T15:46:07.697 に答える
0

リダイレクトの方法を変更しない限り、これが可能かどうかはわかりません。

[この質問][1]は基本的にあなたの質問の複製であり、どのブラウザも疑似クラス(:visitedなど)を設定できないというコンセンサスがありました。

ユーザーのためにそれをシミュレートする最も簡単な方法は、リンクをブラウザーのデフォルトまたはCSSスタイルの訪問済みリンクと同じように見えるように色付けするCSSクラスを設定することです。これは、ビューレイヤーで、またはjavascriptを使用してクラスを追加することで簡単に実行できます。リンクがに表示される場合window.history

要素をwindow.history配列にプッシュして、ブラウザーの履歴に表示させることもできます(したがって、:visited疑似クラスが与えられます)が、それが機能するかどうかはわかりません。しかし、試してみる価値はあります。

于 2010-06-28T15:06:52.310 に答える