Rumah >hujung hadapan web >tutorial js >JS mendapat laluan mutlak petua file_javascript skrip semasa
Apabila menulis pemuat modul, ini merupakan langkah penting untuk mendapatkan laluan mutlak fail skrip semasa sebagai laluan asas Mari kita bincangkan isu ini bersama-sama!
1. Kaedah pelaksanaan pelayar utama
[a]. Chrome dan FF
Ayat yang sangat mudah sudah memadai!
var getCurrAbsPath = function(){ return document.currentScript.src; };
Document.currentScript objek digunakan di sini, yang mengembalikan elemen skrip yang sedang dilaksanakan, kemudian laluan mutlak fail skrip boleh diperoleh dengan memanggil atribut src elemen skrip.
[b]. IE10+, Safari dan Opera9
Gunakan atribut tindanan (IE10+), atribut sourceURL (Safari) dan atribut surih tindanan (Opera9) objek Ralat untuk mengekstrak laluan mutlak
var getCurrAbsPath = function(){ var a = {}, stack; try{ a.b(); } catch(e){ stack = e.stack || e.sourceURL || e.stacktrace; } var rExtractUri = /(?:http|https|file):\/\/.*?\/.+?.js/, absPath = rExtractUri.exec(stack); return absPath[0] || ''; };
[C]. IE5.5~9
Lintas tag skrip dalam dokumen
var getCurrAbsPath = function(){ var scripts = document.scripts; var isLt8 = ('' + document.querySelector).indexOf('[native code]') === -1; for (var i = scripts.length - 1, script; script = scripts[i--];){ if (script.readyState === 'interative'){ return isLt8 ? script.getAttribute('src', 4) : script.src; } } };
2. Pengenalan kepada pengetahuan yang berkaitan
Skrip readyState di bawah IE5.5~9 menunjukkan status elemen skrip, yang mempunyai nilai status berikut:tidak dimulakan: tidak dimulakan
memuatkan: Memuatkan
dimuatkan: Pemuatan selesai
interaktif: melaksanakan
selesai: pelaksanaan selesai
Anda boleh mendengar perubahan keadaan elemen skrip dengan melanggan acara onreadystatechange. Tetapi malangnya, keadaan yang dimuatkan dan lengkap muncul dalam susunan yang tidak pasti dan hanya satu daripadanya mungkin muncul Oleh itu, adalah disyorkan bahawa apabila menambah elemen skrip secara dinamik, anda mula-mula menetapkan atribut src dan kemudian menambah elemen skrip pada pepohon DOM. , supaya keadaan yang dimuatkan dan lengkap hanya Satu daripadanya akan muncul (walaupun yang mana satu muncul setiap kali diminta), yang lebih mudah untuk dipantau.
3 Cara lain di bawah IE dan FF
Dengan melanggan acara window.onerror, fungsi pengendali acara akan menerima tiga parameter, iaitu msg, url dan num. Url di sini ialah laluan mutlak skrip semasa.Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.