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

Bagaimana untuk Mencari Tag Skrip yang Memuatkan Skrip Semasa?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 01:10:26543semak imbas

How to Find the Script Tag That Loaded the Current Script?

Cara Rujukan Teg Skrip Pemuatan

Dalam pelbagai senario, ia menjadi perlu untuk merujuk teg skrip yang memuatkan yang sedang dilaksanakan skrip. Ini boleh dicapai melalui pelbagai kaedah, masing-masing mempunyai kelebihan dan kelemahan tersendiri.

1. document.currentScript


var me = document.currentScript;

Faedah:

  • Mudah dan jelas.
  • Boleh Dipercayai.
  • Berfungsi dengan skrip tak segerak.
  • Tidak perlu mengubah suai teg skrip.

Masalah:

  • Tidak disokong dalam pelayar lama dan IE .
  • Tidak berfungsi dengan modul ().

2. Id Skrip

var saya = document.getElementById('myscript');

Faedah:

  • Tersurat dan boleh dipercayai.
  • Secara meluas disokong.
  • Berfungsi dengan skrip tak segerak.

Masalah:

  • Memerlukan atribut tersuai.
  • Atribut id boleh menyebabkan isu khusus penyemak imbas.

3. Atribut Data

<script data-name="myscript"><br>var me = document.querySelector('script[data-name="myscript"]');<br></script><br>

Faedah:

  • Serupa dengan pilihan sebelumnya.
  • Sokongan skrip tak segerak.

Masalah:

  • Atribut tersuai diperlukan.
  • HTML5 tidak mematuhi semua penyemak imbas.
  • Potensi konflik dengan elemen lain yang berkongsi perkara yang sama atribut.

4. Sumber Skrip

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

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

Faedah:

  • Tiada atribut tersuai.
  • Berfungsi dengan tak segerak skrip.

Masalah:

  • Tidak berfungsi untuk skrip tempatan.
  • Isu dalam persekitaran yang berbeza (mis., Pembangunan dan Pengeluaran).
  • Rapuh (perubahan kepada lokasi skrip memerlukan skrip pengubahsuaian).

5. Menggulung pada Skrip

<skrip><br>var me = null;<br>var scripts = document.getElementsByTagName("script")<br>for (var i = 0; i < {</p>
<pre class="brush:php;toolbar:false">if( isMe(scripts[i])){
  me = scripts[i];
}

}

function isMe(scriptElem){</p>
<pre class="brush:php;toolbar:false">if( isMe(scripts[i])){
  me = scripts[i];
}

}

Faedah:

  • Fleksibel, boleh guna sebelumnya teknik.

Masalah:

  • Boleh jadi tidak cekap.

6. Skrip Terakhir Dilaksanakan


skrip var = document.getElementsByTagName( 'skrip' );
var saya = skrip[ skrip.panjang - 1 ];

Faedah:

  • Mudah.

Masalah:

  • Tidak berfungsi dengan skrip tak segerak atau dimasukkan secara dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Tag 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