Показать сообщение отдельно
  #7 (permalink)  
Старый 10.01.2013, 00:33
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

спасибо что глянул.
Там был ряд костылей, но я их уже выпилил
чем посоветуешь заменить '\v'!='v' может if (el.attachEvent) попробывать.
посмотри кстатии самый короткий способ определить ie

последняя версия,
всё ковырять больше небуду,надоело

$Load = (function() {
    var loadedScripts = {},//только загруженные скрипты
        allscript={};//все скрипты

    //хелпер для установки обработчиков событий
    function event(el,fn) {
       if ( '\v'!='v') el.addEventListener ("load", fn ,false)
       else el.attachEvent("onreadystatechange", function(){
                 if (el.readyState=="complete" || el.readyState=="loaded") fn()
       });
    }  

    //грузит скрипт и вешает событие load
    function loadAsync(src, callback) {
          if (! (src in allscript) ) {
              var script = document.createElement('script');
              script.type = 'text/javascript';
              script.src = src;
              document.documentElement.firstChild.appendChild(script);	       
              allscript[src]=script;
          }

          event( allscript[src], function(){
	         loadedScripts[src]=allscript[src]; 					
             callback(src) 
         }) 				
    }

    //возвращаем функцию
    return function (scripts, onload) {
	        var scripts = typeof scripts === "string" ? [scripts] : scripts,
	            count=scripts.length;

	        for( var i = 0; i < scripts.length; i++ ) {
	              if (scripts[i] in loadedScripts ) count--; 
	              else loadAsync( scripts[i], function(src){			
	                count--;
	                if ( count==0) onload();		
	              });
	        }               	
	        if (count==0) onload();
    }
})();
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 10.01.2013 в 00:50.
Ответить с цитированием