Dalam senario tertentu, pembangun mungkin perlu memuatkan tambahan secara dinamik skrip ke dalam dokumen. Walau bagaimanapun, kaedah konvensional menggunakan document.getElementsByTagName('head')[0].appendChild(v) mungkin tidak sesuai jika elemen HEAD masih belum dipaparkan sepenuhnya.
Untuk merujuk elemen skrip yang memuatkan skrip yang sedang dilaksanakan, beberapa teknik boleh bekerja:
Kelebihan:
Penghadan:
<br><script><br>var me = document.currentScript;<br></script><br>< ;/pra></p> <h4>2. ID Tag Skrip</h4> <p><strong>Kelebihan:</strong></p> <ul> <li>Mudah, jelas dan boleh dipercayai</li> <li>Disokong secara meluas</li> <li>Berfungsi dengan skrip tak segerak (tunda & async)</li> <li>Berfungsi dengan skrip disisipkan secara dinamik</li> </ul> <p><strong>Keterbatasan:</strong></p> <ul><li>Memerlukan penambahan atribut id pada teg skrip</li></ul> <p><pra> <br><skrip>var saya = document.getElementById('myscript');<br></script><br>
Kelebihan:
Batasan:
<br><script data-name="myscript"><br>var me = document.querySelector('script[data-name="myscript"]');<br></script><br>
Kelebihan:
Had:
var me = document.querySelector('script[src="//example.com/embed.js"]');
Kelebihan:
Batasan:
< skrip>
var me = null;
skrip var = document.getElementsByTagName("script")
for (var i = 0; i < scripts.length; i) {
if (isMe(scripts[i])) {
me = scripts[i];
}
}
Kelebihan:
Penghadan:
var scripts = document.getElementsByTagName( 'script' );
var me = scripts[ scripts.length - 1 ];
Pilihan kaedah untuk merujuk elemen skrip semasa bergantung pada keperluan khusus aplikasi dan sokongan untuk pelbagai pelayar. Untuk penyemak imbas moden, document.currentScript ialah pendekatan pilihan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen Skrip yang Memuatkan JavaScript yang sedang Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!