In Situationen, in denen Sie Skripte dynamisch innerhalb eines vorhandenen Skripts laden müssen, referenzieren Sie das Skript-Tag, das das aktuelle Skript geladen hat notwendig wird. Dadurch können Sie neue Skript-Tags in das DOM einfügen.
1. Mit document.currentScript
document.currentScript wird das aktuell verarbeitete Skriptelement zurückgegeben. Es ist eine zuverlässige und einfache Methode. Es wird jedoch in älteren Browsern nicht unterstützt und funktioniert nicht mit Modulen.
2. Auswählen des Skripts nach ID
Durch Hinzufügen eines ID-Attributs zum Skript können Sie es mithilfe von document.getElementById() nach ID auswählen. Diese Methode ist ebenfalls zuverlässig, erfordert jedoch eine Änderung des Skript-Tags.
3. Auswahl des Skripts nach Daten-*-Attribut
Wenn Sie das Skript mit einem Daten-*-Attribut versehen, können Sie es anhand des Attributwerts auswählen. Dies ähnelt der Verwendung einer ID, weist jedoch nicht die gleichen potenziellen Randfälle auf.
4. Auswahl des Skripts nach Quelle
Mit dem src-Attribut können Sie das Skript mithilfe eines Selektors nach seiner Quelle auswählen. Diese Methode funktioniert bei Skripten mit externen Quellen, ist jedoch nicht zuverlässig, wenn dasselbe Skript mehrmals oder in verschiedenen Umgebungen geladen wird.
5. Durchlaufen aller Skripte
Das Durchlaufen aller Skriptelemente und das Überprüfen jedes Elements, um das gewünschte zu finden, bietet einen umfassenden Ansatz, der mit älteren Browsern funktioniert. Es übernimmt jedoch die Vorteile und Einschränkungen der verwendeten Auswahlkriterien.
6. Abrufen des zuletzt ausgeführten Skripts
Angenommen, Skripte werden nacheinander ausgeführt, kann das letzte Skriptelement das aktuelle Skript sein. Obwohl diese Methode einfach ist, funktioniert sie nicht mit asynchronen oder dynamisch eingefügten Skripten.
Das obige ist der detaillierte Inhalt vonWie kann ich auf das Skript-Tag des aktuell ausgeführten JavaScript verweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!