Maison > interface Web > js tutoriel > Comment trouver l'élément de script qui a chargé le script actuel ?

Comment trouver l'élément de script qui a chargé le script actuel ?

Patricia Arquette
Libérer: 2024-12-20 12:44:25
original
807 Les gens l'ont consulté

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

Comment référencer la balise de script qui a chargé le script actuel

Problème

Comment obtenir l'élément de script qui a chargé le script en cours d'exécution ? Ceci est nécessaire pour charger dynamiquement des scripts dans le DOM sans avoir besoin d'accéder à la balise HEAD.

Réponse

1. Utilisation de document.currentScript :

Cette méthode renvoie le <script> élément dont le code est en cours d'exécution.

var me = document.currentScript;
Copier après la connexion

2. Sélection du script par ID :

Ajoutez un attribut id au script.

<script>
Copier après la connexion

Obtenez l'élément avec document.getElementById().

var me = document.getElementById('myScript');
Copier après la connexion

3. Sélection du script par attribut de données :

Ajoutez un attribut data-* au script.

<script data-name="myScript"></script>
Copier après la connexion

Obtenez l'élément avec document.querySelector().

var me = document.querySelector('script[data-name="myScript"]');
Copier après la connexion

4. Sélection du script par source :

<script src="//example.com/embed.js"></script>
Copier après la connexion

Dans embed.js :

var me = document.querySelector('script[src="//example.com/embed.js"]');
Copier après la connexion

5. Parcourir tous les scripts :

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";
}
Copier après la connexion

6. Obtenir le dernier script exécuté :

var scripts = document.getElementsByTagName('script');
var me = scripts[scripts.length - 1];
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal