Vengo referenciado desde este post:
http://www.forosdelweb.com/f77/howto...e-ajax-510438/
Todo funciona ok tanto en firefox como en IE, solo que en IE cuando rellamo por asi decirlo el div, se pierden los atributos del js y el Firefox no sucede.
aqui esta el link para que vean el error, consulten el utlimo link contactenos en IE, y posteriormente vuelvan a hacer click en el enlace, en IE se pierden las carateristicas tinymce que son las librerias que estoy usando para este caso
http://www.boolean.com.ve/
El codigo de mi llamadas asincronas a paginas es este:
Código:
en el index de la pagina llamo a // Documento JavaScript // Esta función cargará las paginas function llamarasincrono(url, id_contenedor){ var pagina_requerida = false if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc pagina_requerida = new XMLHttpRequest() } else if (window.ActiveXObject){ // pero si es IE try { pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ // en caso que sea una versión antigua try{ pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false pagina_requerida.onreadystatechange=function(){ // función de respuesta cargarpagina(pagina_requerida, id_contenedor) } pagina_requerida.open('GET', url, true) // asignamos los métodos open y send pagina_requerida.send(null) } // todo es correcto y ha llegado el momento de poner la información requerida // en su sitio en la pagina xhtml function cargarpagina(pagina_requerida, id_contenedor){ if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)){ var scs=pagina_requerida.responseText.extractScript(); //capturamos los scripts document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText; //eliminamos los scripts... ya son innecesarios scs.evalScript(); document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText } }
Código:
y en la pagina llamada en el div tengo en el head este codigo:<script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> <script> var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; /** * Eval script fragment * @return String */ String.prototype.evalScript = function() { return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); }; /** * strip script fragment * @return String */ String.prototype.stripScript = function() { return this.replace(new RegExp(tagScript, 'img'), ''); }; /** * extract script fragment * @return String */ String.prototype.extractScript = function() { var matchAll = new RegExp(tagScript, 'img'); return (this.match(matchAll) || []); }; /** * Eval scripts * @return String */ Array.prototype.evalScript = function(extracted) { var s=this.map(function(sr){ var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]; if(window.execScript){ window.execScript(sc); } else { window.setTimeout(sc,0); } }); return true; }; /** * Map array elements * @param {Function} fun * @return Function */ Array.prototype.map = function(fun) { if(typeof fun!=="function"){return false;} var i = 0, l = this.length; for(i=0;i<l;i++) { fun(this[i]); } return true; }; </script>
Código:
Funciona con Firefox y funciona con IE solo una vez.<script type="text/javascript"> tinyMCE.init({ mode : "textareas", theme : "simple", skin : "o2k7" }); </script>
Muchas gracias por la ayuda que me puedan prestar, saludos...