2017-02-25 4 views
0

Ich habe 5 HTML-Seiten und eine JavaScript-Funktion DoInitialConfiguration() in einer JavaScript-Datei. Benutzer kann jede der fünf HTML-Seiten öffnen und ich möchte, dass unabhängig davon, welche Seite geöffnet ist, ich diese Funktion auf der ersten Seite aufrufen. Aber auch daran erinnern, dass die Funktion einmal aufgerufen wurde und nicht bei anderen Seiten laden. Ich habe nur diese 5 HTML-Seiten und die JavaScript-Datei, die die Funktion hat. Ich bin Besitzer der JavaScript-Datei, kann aber in den HTML-Seiten (die ich nicht besitze) eine begrenzte Änderung vornehmen, wie die JavaScipt-Datei laden und die Funktion DoInitialConfiguration() aufrufen.Steuern Sie die Ausführung der JavaScript-Funktion nur einmal

Da die JavaScript-Datei im Browser-Cache verbleibt, gibt es eine Möglichkeit, sich daran zu erinnern, dass die Funktion einmal aufgerufen wurde, indem eine Variable in der JS-Datei verwendet wurde. Es ist OK, DoInitialConfiguration() erneut aufzurufen, wenn die Seite nach dem Leeren des Browser-Cache erneut geladen wird.

wie kann diese Funktionalität

+0

Speichern Sie ein Flag in 'localStorage' zum Beispiel. –

+0

Cookies oder localStorage wird einen Cache überleben – mplungjan

Antwort

3

Wenn Ihr 5 Seiten unter derselben Website gehostet werden, erreicht werden (was wahrscheinlich der Fall wäre), können Sie localstorage verwenden, um einen Schlüssel zu addieren zu überprüfen, ob Ihr Skript ersten Mal aufgerufen wurde oder nicht.

if (localStorage.getItem("firstRun") != null) { 
    // second run+ code goes here 
} else { 
    localStorage.setItem("firstRun", "ohyes"); 
    // first run code goes here 
} 
+0

Vielen Dank. Dies ist hilfreich – Sourav

+0

@Sourav Sie können die Antwort, die Sie mögen, als akzeptiert markieren, indem Sie auf den hohlen grünen Haken klicken. – mehulmpt

0

Sie können möglicherweise localStorage dafür verwenden. Sobald Ihr Code ausgeführt wird, setzen Sie eine localStorage Variable, d. H. localStorage.setItem(<key>, <value>), und überprüfen Sie in der Funktion, ob localStorage gesetzt wurde, d. H. localStorage.getItem("lastname"). Wenn sein Satz den Code nicht ausführt.

+0

Vielen Dank. Dies ist hilfreich – Sourav

0

Es wäre gut zu verstehen, Sie Setup und Fallstudie besser.

Wenn ich Sie richtig verstehe, haben Sie 5 separate HTML-Seiten (und Sie laufen keine Single-Page-Anwendung [SPA]) dann was Sie tun möchten ist unmöglich durch Browser und Cache-Speicher allein. Wenn Sie sich Einstellungen merken wollen, müssen Sie diese mit localStorage oder Cookies speichern (wie einige der Antworten darauf hinwiesen), aber da es sich um 5 verschiedene HTML-Seiten handelt, tun die Js, dass Sie sie nicht erneut ausführen wollen eine zweite Seite laden?

+0

Dies ist ein gültiger Kommentar. Sie sind nur ein paar davon entfernt, zu kommentieren. Vergeudet die Antwort nicht mit downvoted-Antworten, die wirklich Kommentare sind, sondern wartet, bis ihr genug habt, um wirklich zu kommentieren. – mplungjan

+0

Ok, jetzt können Sie in einen Kommentar konvertieren :) – mplungjan

Verwandte Themen