设置访问的网址

时间:2010-06-28 14:07:01

标签: php javascript html redirect visited

我有一个

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

链接在我的页面上,以及my_redirect_page.php中的以下行:

header("Location: ".$mylink); 

但是在重定向之后,如果我在浏览器中单击后面,则链接的“my_text”不会显示为已访问(紫色,而不是蓝色)。我该如何解决这个问题?有没有办法在php或javascript中更改访问过的属性?

谢谢,

戴夫

2 个答案:

答案 0 :(得分: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。由于某种原因,重定向失败,用户将看到一个页面,其中包含指向目标网址的链接。

答案 1 :(得分:0)

我不确定这是否可行,除非您改变重定向的方式。

[这个问题] [1]基本上是你的副本,并且一致认为没有一个浏览器允许你设置伪类(比如:visited)。

为用户模拟它的最简单方法是设置一个CSS类,它将链接着色为与浏览器默认链接或CSS样式访问链接相同,您可以在视图层中轻松完成或通过添加如果链接出现在window.history中,则使用javascript进行分类。

可能也能够将元素推送到window.history数组,并让它们出现在浏览器历史记录中(因此被赋予:visited pseudoclass),但我不确定如果这样可行。值得一试。