2016-09-18 4 views
0

ich einige Browser-History-Eingang haben, zum Beispiel nehmen wir an, das, was die Geschichte aussieht, wennWie die verschiedenen in Reihe zwischen zwei Browser bekommen Geschichte

http://example.com/index.php 
http://example.com/profile.php 
http://example.com/comments.php 
http://example.com/contact.php 

Nun ist die Differenz zwischen dem Index-Seite und die angeklickt ist Kontaktseite 3 ist, wie kann ich berechnen es

var currentPage = "index.php"; 
var historyPage = "contact.php"; 
var pageDiff = // historyPage - currentPage 
+0

Ist das Ziel, den Benutzer zurück zu gehen drei Seiten zu lenken? Wenn ja, warum leiten Sie sie nicht einfach mit 'window.location' dorthin? – jedifans

+0

kann ich nicht, weil ich möchte, dass die Seite zurückgeht, so dass der Benutzer auch auf die Vorwärts-Schaltfläche klicken kann –

+0

Scheint wie eine seltsame Anforderung, aber okay :). Denken Sie daran, dass in der Regel Seiten aus dem Cache des Browsers geladen werden. Wenn die Kontaktseite die Indexseite aktualisieren soll, wird sie daher nicht angezeigt. – jedifans

Antwort

1

Wenn Sie den Abstand zwischen zwei Elementen in einem Array wissen wollen, können Sie indexOf verwenden. Ich gehe davon aus, dass Ihr Browserverlauf in einem Array und nicht nur einem großen Textblock liegt.

Etwas wie:

var history = [ 
    'http://example.com/index.php', 
    'http://example.com/profile.php', 
    'http://example.com/comments.php', 
    'http://example.com/contact.php', 
] 
var pageDiff = history.indexOf("http://example.com/contact.php")-history.indexOf("http://example.com/index.php"); 
+0

Ich bin nicht derjenige, der die Geschichte erstellt, also möchte ich sie aus der Browser-Geschichte lesen. –

+0

Könntest du ein wenig mehr darüber erzählen, wie du das machen wirst? – tristansokol

Verwandte Themen