Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No funciona en IE pero si en firefox

Estas en el tema de No funciona en IE pero si en firefox en el foro de Frameworks JS en Foros del Web. Hola muchachos, tengo el problema que menciona el titulo del post. Este código funciona correctamente en Firefox pero no lo hace en IE. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 28/03/2012, 08:07
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 11 meses
Puntos: 6
No funciona en IE pero si en firefox

Hola muchachos, tengo el problema que menciona el titulo del post. Este código funciona correctamente en Firefox pero no lo hace en IE.
Código Javascript:
Ver original
  1. var Asset = null;
  2.     var CXMW = {  //wapi
  3.  
  4.         secuency:0,
  5.         widgets:{},
  6.         site:'#site#',
  7.         queued:new Array,
  8.         loading:{},
  9.         widget:function(options){
  10.                    
  11.             var loadwidget = function(){
  12.                 options.id = CXMW.secuency++;
  13.                 var widget = options.widget;
  14.                 CXMW.getWidget(widget,options);
  15.                 return CXMW.widgets[options.id];
  16.             }
  17.            
  18.             var test_mootools = function(){
  19.                 if (typeof window.MooTools == "undefined") {
  20.                     var script_tag = document.createElement('script');
  21.                     script_tag.setAttribute("type","text/javascript");
  22.                     script_tag.setAttribute("src","https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools.js")
  23.                     if (window.addEventListener) window.addEventListener('load', loadwidget(), false);
  24.                     else if (window.attachEvent) window.attachEvent('onload', loadwidget());
  25.                     document.getElementsByTagName("head")[0].appendChild(script_tag);
  26.                     } else {
  27.                         loadwidget();
  28.                     }
  29.                 }
  30.             test_mootools();
  31.                
  32.         },
  33.  
  34.         getWidget:function(widget,options){
  35.                 if(!Asset){
  36.                         var Asset={javascript:function(d,b){if(!b){b={};}var a=new Element("script",{src:d,type:"text/javascript"}),e=b.document||document,c=b.onload||b.onLoad;
  37.                         delete b.onload;delete b.onLoad;delete b.document;if(c){if(typeof a.onreadystatechange!="undefined"){a.addEvent("readystatechange",function(){if(["loaded","complete"].contains(this.readyState)){c.call(this);
  38.                         }});}else{a.addEvent("load",c);}}return a.set(b).inject(e.head);},css:function(d,a){if(!a){a={};}var b=new Element("link",{rel:"stylesheet",media:"screen",type:"text/css",href:d});
  39.                         var c=a.onload||a.onLoad,e=a.document||document;delete a.onload;delete a.onLoad;delete a.document;if(c){b.addEvent("load",c);}return b.set(a).inject(e.head);
  40.                         },image:function(c,b){if(!b){b={};}var d=new Image(),a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var g="on"+e,f="on"+e.capitalize(),h=b[g]||b[f]||function(){};
  41.                         delete b[f];delete b[g];d[g]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;h.delay(1,a,a);
  42.                         a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(c,b){c=Array.from(c);var d=function(){},a=0;
  43.                         b=Object.merge({onComplete:d,onProgress:d,onError:d,properties:{}},b);return new Elements(c.map(function(f,e){return Asset.image(f,Object.append(b.properties,{onload:function(){a++;
  44.                         b.onProgress.call(this,a,e,f);if(a==c.length){b.onComplete();}},onerror:function(){a++;b.onError.call(this,a,e,f);if(a==c.length){b.onComplete();}}}));
  45.                         }));}};
  46.                     }
  47.                     if(CXMW[widget]){  // esta definido el widget en el API ??
  48.                         CXMW.widgets[options.id] = (CXMW.widgets[options.id])  ? CXMW.widgets[options.id] : new CXMW[widget](options);
  49.                     }else{
  50.                         if(CXMW.loading[widget]){CXMW.queued.push(options);}      // voy encolando las peticiones hasta finalizar la carga
  51.                         else {
  52.                             CXMW.loading[widget] = true;
  53.                             CXMW.queued.push(options);
  54.                             var myload = Asset.javascript(CXMW.site + widget + ".js", {
  55.                                 onLoad: function(){
  56.                                     //alert("loadedd");
  57.                                     CXMW.queued.each(function(item,index){
  58.                                         if(item.widget == widget){
  59.                                             CXMW.widgets[item.id] = (CXMW.widgets[item.id])  ? CXMW.widgets[item.id] : new CXMW[widget](item);
  60.                                             CXMW.queued.slice(index,1);
  61.                                         }
  62.                
  63.                                     });
  64.                                     CXMW.loading[widget] = false;
  65.                                     }
  66.                             });
  67.                         }    
  68.                        
  69.                                        
  70.  
  71.                     }      
  72.         }
  73.  
  74.     };

Creo que me está fallando el trozo cuando cargo mootools dinamicamente.

Código Javascript:
Ver original
  1. var test_mootools = function(){
  2.                 if (typeof window.MooTools == "undefined") {
  3.                     var script_tag = document.createElement('script');
  4.                     script_tag.setAttribute("type","text/javascript");
  5.                     script_tag.setAttribute("src","https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools.js")
  6.                     if (window.addEventListener) window.addEventListener('load', loadwidget(), false);
  7.                     else if (window.attachEvent) window.attachEvent('onload', loadwidget());
  8.                     document.getElementsByTagName("head")[0].appendChild(script_tag);
  9.                     } else {
  10.                         loadwidget();
  11.                     }
  12.                 }
  13.             test_mootools();

Pero no soy capaz de solucionarlo, ojala podáis echarme una manita.

Etiquetas: ajax, firefox, funcion, javascript, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:59.