привет.Попал на статейку
http://javascript.ru/blog/Ilya-Kanto...tlovom-oshibok
Никак не получается код
function go(url, callback, errback) {
var complete = false
// временный обработчик
var myCallback = 'callback_'+Math.round(Math.random()*1000000)
window[myCallback] = function(data) {
setComplete()
window[callback](data)
}
url = url+'?callback='+myCallback
/* очищает память */
function setComplete() {
complete = true
try {
// если каллбэк не очистить - утечка памяти захватит все замыкание
delete window[myCallback]
} catch(e) {
window[myCallback] = undefined
}
}
/* эта функция сработает при любом результате запроса */
function check() {
// эта функция запускается так, чтобы при успешной загрузке
// она сработала после каллбэка
if (complete) return
setComplete()
window[errback]()
}
var script = document.createElement('script')
script.onreadystatechange= function () {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
setTimeout(check, 0) // дать скрипту время на выполнение
}
}
script.onload = script.onerror = check
script.src = url
document.body.appendChild(script)
}
go('1.js', 'callback', 'errback');
1.js
alert('src_file');
В случае неправильного адреса удаленного файла-все нормально-вызов errorback.
Теперь если все нормально-вызывается сначала alert('src_file');а затем
errback.В чем проблема?