Ein Teil meines JavaScript-Codes befindet sich in einer externen Datei namens helpers.js. In dem HTML-Code, der diesen JavaScript-Code aufruft, muss ich wissen, ob eine bestimmte Funktion von helpers.js aufgerufen wurde.
Ich habe versucht, eine globale Variable zu erstellen, indem ich Folgendes definierte:
var myFunctionTag = true;
Im globalen Bereich sowohl in meinem HTML-Code als auch in helpers.js.
Hier ist, wie mein HTML-Code aussieht:
<html>
...
<script type='text/javascript' src='js/helpers.js'></script>
...
<script>
var myFunctionTag = false;
...
//I try to use myFunctionTag here but it is always false, even though it has been se t to 'true' in helpers.js
</script>
Ist das, was ich versuche, überhaupt machbar?
<script>
Tag - Block. Ich habe gerade zwei verschiedene Ansätze ausprobiert (ohne die Variable vor der Datei helpers.js zu deklarieren) und beide haben funktioniert. Ich werde eine Antwort posten, aber es scheint, dass in Ihrer Frage einige wichtige Informationen fehlen müssen.Antworten:
Sie müssen die Variable deklarieren, bevor Sie die Datei helpers.js einfügen. Erstellen Sie einfach ein Skript-Tag über dem Include für helpers.js und definieren Sie es dort.
quelle
Die Variable kann in der
.js
Datei deklariert und einfach in der HTML-Datei referenziert werden. Meine Version vonhelpers.js
:Und eine Seite zum Testen:
Sie werden sehen, dass der Test
alert()
zwei verschiedene Dinge anzeigt und der auf die Seite geschriebene Wert beim zweiten Mal unterschiedlich ist.quelle
OK, Leute, hier ist auch mein kleiner Test. Ich hatte ein ähnliches Problem und beschloss, drei Situationen zu testen:
Alle Ergebnisse waren wie erwartet.
Anstatt in Tutorials zu stöbern, fand ich es einfacher, es auszuprobieren, also tat ich es. Mein Fazit: Wenn Sie eine externe JS-Datei in Ihre HTML-Seite aufnehmen, wird der Inhalt des externen JS vor dem Rendern der Seite in Ihre HTML-Seite "kopiert / eingefügt". Oder in Ihre PHP-Seite, wenn Sie so wollen. Bitte korrigieren Sie mich, wenn ich hier falsch liege.Danke.
Meine Beispieldateien folgen:
EXTERNE JS:
HTML 1:
HTML 2
quelle
Ich denke, Sie sollten "lokalen Speicher" anstelle von globalen Variablen verwenden.
Wenn Sie befürchten, dass "lokaler Speicher" in sehr alten Browsern möglicherweise nicht unterstützt wird, sollten Sie ein vorhandenes Plug-In verwenden, das die Verfügbarkeit von "lokalem Speicher" überprüft und andere Methoden verwendet, wenn dieser nicht verfügbar ist.
Ich habe http://www.jstorage.info/ verwendet und bin bisher damit zufrieden.
quelle
Sie können ein JSON-Objekt wie folgt erstellen:
in fileA.js
Und greifen Sie von fileB.js darauf zu wie:
globalVariable.example_attribute
quelle
Hallo, um Werte von einer JS-Datei an eine andere JS-Datei zu übergeben, können wir das lokale Speicherkonzept verwenden
Two.js Datei
Three.js-Datei
quelle
Wenn Sie den Knoten verwenden:
values.js
:Importieren Sie es dann einfach nach Bedarf oben in jede Datei, in der es verwendet wird (z. B.
file.js
):quelle
// Javascript-Datei 1
// Javascript Datei 2
Vergessen Sie nicht, Ihre JS-Dateien in HTML zu verlinken :)
quelle