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
685 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!

source:php.cn
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