Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Elemen Skrip yang Memuatkan Skrip Semasa?

Bagaimana untuk Mencari Elemen Skrip yang Memuatkan Skrip Semasa?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 12:44:25685semak imbas

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

Cara Rujukan Tag Skrip yang Memuat Skrip Semasa

Masalah

Cara mendapatkan elemen skrip yang memuatkan skrip yang sedang dilaksanakan ? Ini diperlukan untuk memuatkan skrip secara dinamik ke dalam DOM tanpa perlu mengakses teg HEAD.

Jawapan

1. Menggunakan document.currentScript:

Kaedah ini mengembalikan elemen yang kodnya sedang dilaksanakan.

var me = document.currentScript;

2. Memilih Skrip mengikut ID:

Tambahkan atribut id pada skrip.

<script>

Dapatkan elemen dengan document.getElementById().

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

3. Memilih Skrip mengikut Atribut Data:

Tambahkan atribut data-* pada skrip.

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

Dapatkan elemen dengan document.querySelector().

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

4. Memilih Skrip mengikut Sumber:

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

Dalam embed.js:

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

5. Menggulung Semua Skrip:

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. Mendapatkan Skrip Terakhir Dilaksanakan:

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

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen Skrip yang Memuatkan Skrip Semasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn