Pregunta

Tengo un

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

enlace en mi página, y la línea siguiente en my_redirect_page.php:

header("Location: ".$mylink); 

pero después de la redirección, si hago clic en la parte posterior de mi navegador, el "my_text" para el enlace no aparece como visitado (en púrpura, en lugar de azul). ¿Cómo trabajo alrededor de esto? ¿Hay una manera de cambiar la propiedad visitado en PHP o JavaScript?

Gracias,

David

¿Fue útil?

Solución

No es una solución excelente, pero, en 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>

O algo por el estilo - la página debe cargar (entrando así en el historial del navegador) y luego, con un retraso de 0, cargue la URL de destino. Debe, por alguna razón, la redirección falla, el usuario verá una página que contiene un enlace a la URL de destino.

Otros consejos

No estoy seguro de que esto es posible, a menos que cambie la forma en que sus redirecciones se llevan a cabo.

[Esta pregunta] [1] es básicamente un duplicado de la suya, y el consenso fue que ninguno de los navegadores que permiten al conjunto pseudo-clases (como: visited).

La forma más fácil para simular que para el usuario es fijar una clase CSS que colorea el enlace tenga el mismo aspecto por defecto del navegador o de estilo CSS enlace visitado, lo que se puede hacer fácilmente en su capa de vista o añadiendo la clase usando javascript si el enlace aparece en window.history.

puede también ser capaz de empujar los elementos en la matriz window.history, y que aparezcan en el historial del navegador (y por lo tanto tener la: pseudoclass visitado), pero no estoy seguro si eso fuera a trabajar. Vale la pena probarlo sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top