[Resolvido] script dentro de div no IE nao funciona
ha alguma forma de funcionar no IE tags scripts dentro de uma DIV (container) ?
vou explicar melhor: tenho uma pagina que chama um ajax, dentro deste arquivo (chamado por ajax) contem scripts. Porem para funcionar é necessario fazer uma gambiarrinha, que faço igual postado neste topico (http://forum.imasters.com.br/topic/264642-executar-funcoes-js-em-paginas-carregadas-com-ajax/), mas no maledeto do IE nao funciona. Vou postar o codigo pra ficar mais facil de visualizar:
ajax_teste.js
var xmlHttp
function loadAjax(url, local)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("Este browser não suporta HTTP Request")
return
}
xmlHttp.onreadystatechange=function()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById(local).innerHTML = xmlHttp.responseText;
replaceAjax(local);
}
}
xmlHttp.open("POST",url,true)
xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlHttp.setRequestHeader("Pragma", "no-cache");
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");xmlHttp.send(null)
}
function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest){
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject){
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
function replaceAjax(local){
var conteudo = document.getElementById(local);
var conteudo = document.getElementById("container");
var newElement = document.createElement("script");
var scripts = conteudo.getElementsByTagName("script");
var containerScript = "";
for (var i = 0; i < scripts.length; i++) {
containerScript += scripts[i].innerHTML + "\r\n";
}
newElement.text = containerScript;
conteudo.appendChild(newElement);
}
teste1.html
<script type="text/javascript" src="ajax_teste.js"></script>
<div id="container"></div>
<a href="#" onclick="loadAjax('teste2.html','container')">ajax</a>
teste2.html
<script>
alert('oi');
</script>
lalalala
no FF funciona: retorna o alert e o texto
mas no IE: retorna apenas o texto
alguem tem alguma ideia? eu jah tentei de tudo mas sinceramente nao consigo ver alguma solução
ps.: IE 8
Discussão (6)
Carregando comentários...