Показать сообщение отдельно
  #1 (permalink)  
Старый 21.01.2013, 00:35
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

Отслеживание загрузки скрипта
привет.Попал на статейку 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.В чем проблема?
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием