Volledige versie bekijken : history.back() gaat naar anchor link
Rilke
%Europe/Berlin %919 %2005, 23:04
Ik ben bezig met een website waarin ik nogal eens gebruik maak van:
javascript:history.back()
Nou zijn er een aantal pagina's waar ik gebruik wil maken van anchor links zodat een bezoeker eenvoudig terug kan naar de bovenkant van de pagina.
Op het moment dat een bezoeker op zo'n anchor linkje geklikt heeft en hij wil vervolgens via de link met daaraan het history.back javascriptje terug naar de vorige pagina, dan gaat hij niet terug naar de vorige pagina, maar terug naar waar hij was voordat hij het anchor linkje klikte.
Heeft iemand enig idee hoe ik ervoor kan zorgen dat het linkje met daaraan het javascriptje altijd terug gaat naar de vorige pagina en zichzelf dus niets aantrekt van de anchor linkjes waarop geklikt is?
Rembrandt
%Europe/Berlin %576 %2005, 14:50
De opdrachtregel "javascript:history.back()" geeft je browser de opdracht eens tapje terug te doen in de history van je browser (de vorige anker in dit geval dus). Dus met javascript:history.back() zal het je niet lukken dit "probleem" op te lossen.
Rilke
%Europe/Berlin %823 %2005, 20:46
Daar was ik al "bang" voor.
Enig idee hoe het dan wel op te lossen.
Ik zou aan de 'ga terug naar de vorige pagina' buttons wel gewone harde links willen hangen, maar deze buttons worden dynamisch gegenereerd en ik weet dus niet wat de vorige pagina was. Dat kan van alles zijn. Vandaar ook het js.
Dus, heeft iemand een oplossing?
arie
%Europe/Berlin %409 %2005, 10:49
<a href="Javascript:history.back()">terug</a>
mknol
%Europe/Berlin %411 %2005, 10:52
misschien..
<a href="#top" onclick="javascript:history.back()">terug</a>
ik gok maar wat..
colake
%Europe/Berlin %618 %2005, 15:51
Daar was ik al "bang" voor.
Enig idee hoe het dan wel op te lossen.
Ik zou aan de 'ga terug naar de vorige pagina' buttons wel gewone harde links willen hangen, maar deze buttons worden dynamisch gegenereerd en ik weet dus niet wat de vorige pagina was. Dat kan van alles zijn. Vandaar ook het js.
Dus, heeft iemand een oplossing?
Als het een pagina in bv. php of asp is kan je misschien eens proberen om via serverside-scripting de vorige bezochte pagina op te vragen en aan je 'terug' knop te hangen.
Ik weet nu niet dat de vorige pagina veranderd als er dan op een anchor pagina geklikt werd. Maar je kan dan testen of de pagina het zelfde is gebleven en als dit het geval is behoud je de eerste waarde van je 'terug' knop.
Laiverd
%Europe/Berlin %779 %2005, 19:42
Je kunt gewoon een tellertje maken, en iedere keer als je op een anchor link klikt het tellertje met 1 verhogen. En dan niet javascript:history.back() maar javascript: history.go(tellertje);
Voorbeeldje:
In de head tag dit:var clickCount = 0;
function addClick(){
clickCount++;
// alert(clickCount);
}
function goBack(){
// alert(clickCount);
window.history.go(- clickCount - 1);
}Op een linkonClick="javascript: addClick();"En op de back button:
<a href='#' onClick='javascript:goBack();'>
Overigens: qua usability is dit in principe helemaal r*k, omdat je voorspelbaar gedrag van een back button met voeten treedt.
John
Rilke
%Europe/Berlin %882 %2005, 22:11
Da's waar Laiverd, maar in dit geval zeg ik "so be it".
Ik heb overigens al een andere oplossing gevonden. Het anchor linkje waarvan sprake is linkt naar de 'top' van de pagina. Nu heb ik het anchor linkje vervangen door een gewone link die linkt naar de pagina zelf. M.a.w. de pagina wordt opnieuw geladen en dus met de 'top' van de pagina in de viewport. Het gaat om pagina's van een paar Kb per stuk, dus over een te lange laadtijd hoef ik mezelf geen zorgen te maken.
En zo is mijn probleem opgelost. Geen schoonheidsprijs, wel functioneel........grijns.
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.