Pemuatan file browser sebenarnya memiliki masalah kompatibilitas yang sangat kusut. Baru -baru ini saya melihat @Lifesinger memberikan ringkasan tertentu. Yang lebih merepotkan di sini adalah bahwa IE6 ~ 8 tidak membedakan antara pemuatan yang sukses atau gagal, dan mereka semua melakukan satu panggilan balik. Saya melihat solusi online, yaitu menempatkan variabel global di akhir file pemuatan atau mengubah atribut label untuk membedakannya, sehingga keberhasilan atau tidak dinilai oleh bit bendera ini. Tapi itu jelas tidak sempurna, dan file perlu dimuat.
Kemudian, saya mencoba ide lain, pertama membuat VBScript, mengatur SRC ke dalam file JS. Jika file memuat secara normal, kesalahan pasti akan dilaporkan, jika tidak, tidak akan ada respons. Dengan cara ini, jika Window.onerror menangkap kesalahan, itu berarti file tersebut valid dan akan dimuat secara normal. Jika tidak ditangkap, batas waktu akan dipicu dalam n detik.
Bagian kode ini:
Salinan kode adalah sebagai berikut:
if (yaitu && yaitu <9) {
vbs = doc.createelement (/'skrip/');
vbs.banguage = /'vbscript /';
vbs.src = file;
saveErrorHandle = win.onError;
win.onError = function () {
memuat();
win.onError = saveErrorHandle;
Kembali Benar;
};
setTimeout (function () {
ref.parentnode.insertbefore (VBS, Ref);
}, 0);
} kalau tidak {
memuat();
}