Heim >Web-Frontend >js-Tutorial >Wie finde ich das Skriptelement, das das aktuelle Skript geladen hat?

Wie finde ich das Skriptelement, das das aktuelle Skript geladen hat?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-20 12:44:25685Durchsuche

How to Find the Script Element that Loaded the Current Script?

So referenzieren Sie das Skript-Tag, das das aktuelle Skript geladen hat

Problem

Wie erhält man das Skriptelement, das das aktuell ausgeführte Skript geladen hat? ? Dies ist erforderlich, um Skripte dynamisch in das DOM zu laden, ohne dass auf das HEAD-Tag zugegriffen werden muss.

Antwort

1. Mit document.currentScript:

Diese Methode gibt das <script> zurück. Element, dessen Code ausgeführt wird.

var me = document.currentScript;

2. Skript nach ID auswählen:

Fügen Sie dem Skript ein ID-Attribut hinzu.

<script>

Erhalten Sie das Element mit document.getElementById().

var me = document.getElementById('myScript');

3. Skript nach Datenattribut auswählen:

Fügen Sie dem Skript ein data-*-Attribut hinzu.

<script data-name="myScript"></script>

Erhalten Sie das Element mit document.querySelector().

var me = document.querySelector('script[data-name="myScript"]');

4. Skript nach Quelle auswählen:

<script src="//example.com/embed.js"></script>

In embed.js:

var me = document.querySelector('script[src="//example.com/embed.js"]');

5. Alle Skripte durchlaufen:

var me = null;
var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; ++i) {
  if (isMe(scripts[i])) {
    me = scripts[i];
  }
}

function isMe(scriptElem) {
  return scriptElem.getAttribute('src') === "//example.com/embed.js";
}

6. Abrufen des zuletzt ausgeführten Skripts:

var scripts = document.getElementsByTagName('script');
var me = scripts[scripts.length - 1];

Das obige ist der detaillierte Inhalt vonWie finde ich das Skriptelement, das das aktuelle Skript geladen hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn