history.back() in IE?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

El Grimbo

El Grimbo

28/12/2009 13:49:00
Quote Anchor link
Hi

Ik wil gebruiker de mogelijkheid bieden een pagina terug laten gaan en gebruik een knop met onclick = "history.back()"

In alle browsers werkt dat goed (soms mbv opnieuw verzenden) maar in IE8 en 7 geeft dat soms: " De webpagina is verlopen"
:-(

Weet iemand wat is er dan aan de hand is en hoe kan ik zorgen dat er gewoon netjes naar de vorig geladen pagina gegaan wordt?

grt I.

ps history.back(1) en history.go(-1) hebben hetzelfde probleem
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
PHP hulp

PHP hulp

25/12/2024 20:52:09
 
TJVB tvb

TJVB tvb

28/12/2009 13:54:00
Quote Anchor link
Allereerst, waarom wil je dat?
En die de webpagina is verlopen is hetzelfde als de opnieuw verzenden vraag die je soms in andere browsers krijgt.
 
Rob

Rob

28/12/2009 13:58:00
Quote Anchor link
misschien proberen die POST waardes te vervangen door GET of misschien een sessie variable?
 

28/12/2009 14:05:00
Quote Anchor link
Geen javascript gebruiken. Dat werkt vervelend.
Want als iemand via google / bookmark / link via iemand anders op de pagina terecht is gekomen werkt de vorige link niet zoals verwacht wordt.
 
Pepijn

Pepijn

28/12/2009 14:11:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">
 
El Grimbo

El Grimbo

28/12/2009 14:12:00
Quote Anchor link
Rob schreef op 28.12.2009 13:58:
misschien proberen die POST waardes te vervangen door GET of misschien een sessie variable?


hmmm dit zou wel eens wat kunnen opleveren. Aan een sessie variabele had ik ook al gedacht inderdaad.

Waarvoor gebruiken?
gebruiker krijgt een vraag en kiest ja of nee en dan weer een vraag en dan ja of nee maar moet natuurlijk ook naar de vorige vraag kunnen that's why. Ik heb weer eens de kortste weg genomen maar misschien niet de beste.

edit: wat later...

Inderdaad ligt het aan het GET POST verschil. Met GET geen probleem.

grt i.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 

28/12/2009 14:44:00
Quote Anchor link
Pepijn schreef op 28.12.2009 14:11:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">

Nee, doe dat al helemaal niet.
http_referer wordt door de browser geset. Dat betekend dat je er niet op mag vertrouwen. Hij kan niet gezet zijn (krijg je het zelfde verhaal wat ik hierboven heb geplaatst) of juist onveilig zijn (als je door een verkeerde site wordt doorgestuurd).
 
Martijn Wieringa

Martijn Wieringa

28/12/2009 15:28:00
Quote Anchor link
Je kunt checken of de $_SERVER['HTTP_REFERER'] begint met jouw domeinnaam..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$sDomain
= strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/'))) . '://' . $_SERVER['HTTP_HOST'] . '/';

if(isset($_SERVER['HTTP_REFERER']) && (strcmp(substr($_SERVER['HTTP_REFERER'], 0, strlen($sDomain)), $sDomain) === 0))
{

    $sBackUrl = $_SERVER['HTTP_REFERER'];
}

else
{
    $sBackUrl = $sDomain;
}


?>


Gebruik vervolgens $sBackUrl als 'terug link'.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.