Antes de mais nada, se já tiver algum post aqui com esse mesmo assunto, me desculpem pois não achei nada quando pesquisei...
preciso que avaliem o código abaixo:
PS! Tá funcionando beleza no Firefox, IE5/6/7 (No Windows XP). No IE para Windows 2000 o navegador trava e dá aquela msg chata pra enviar relatórios de erro pra M$.
Esse script é para carregar páginas dinamicamente, e se tiver algum script em javascript, executa o mesmo... É claro que no caso a página só pode ter um script... Mas como eu disse, não tem problema e tá funcionando muito bem nos outros navegadores, menos nessa versão específica... Pode ser que tá com problema nas versões para windows 98/95/Me, mas não testei ainda...
O Erro ocorre na linha: document.getElementById(destObj).innerHTML=ajResponse; da função makeAjaxRequest mais abaixo...
O pior é que eu alterei essa linha pra mostrar o conteúdo de ajResponse com um alert(ajResponse); e rodou de boa...
alguém pode me ajudar a entender o que tá ocorrendo???
Segue o código:
/*
##########################################################################################
## Rotinas AJAX para carga de conteúdo dinâmicamente sem a ##
## necessidade de recarregar a página toda, somente a área que está sendo alterada ##
## ##
## Autor : Wemerson C. Guimarães ##
## Data : 01/07/2007 ##
## Versão: 1.01 ##
## Data : 01/07/2007 ##
##########################################################################################
*/
function ajaxInit()
{
var HTTP_REQUEST;
try
{
HTTP_REQUEST = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
HTTP_REQUEST = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(ex)
{
try
{
HTTP_REQUEST = new XMLHttpRequest();
HTTP_REQUEST.overrideMimeType('text/html');
}
catch(exc)
{
alert("Esse browser não tem recursos para uso do Ajax");
HTTP_REQUEST = null;
}
}
}
return HTTP_REQUEST;
}
function makeAjaxRequest(url, destObj, parametros)
{
ajax = ajaxInit();
if(ajax)
{
parametros = "?" + Math.ceil( Math.random() * 100000 ) +
(
parametros != null ?
parametros
:
''
);
ajax.open("GET", url + ".php" + parametros, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
if(ajax.status == 200)
{
var ajResponse = ajax.responseText;
var iniScript = ajResponse.indexOf('<script language="javascript" type="text/javascript">');
document.getElementById(destObj).innerHTML=ajResponse; // O erro ocorre nessa linha...
if (iniScript > 0)
{
iniScript += 53;
var fimScript = ajResponse.indexOf('</script>');
var scriptCode = ajResponse.substring(iniScript, fimScript);
var scriptObj = document.createElement('script');
scriptObj.setAttribute('language', 'javascript');
scriptObj.text = scriptCode;
document.body.appendChild(scriptObj);
}
}
else
{
alert(ajax.statusText);
}
}
ajax.send(null);
}
}
Pergunta
Spyder.RV
Antes de mais nada, se já tiver algum post aqui com esse mesmo assunto, me desculpem pois não achei nada quando pesquisei...
preciso que avaliem o código abaixo:
PS! Tá funcionando beleza no Firefox, IE5/6/7 (No Windows XP). No IE para Windows 2000 o navegador trava e dá aquela msg chata pra enviar relatórios de erro pra M$.
Esse script é para carregar páginas dinamicamente, e se tiver algum script em javascript, executa o mesmo... É claro que no caso a página só pode ter um script... Mas como eu disse, não tem problema e tá funcionando muito bem nos outros navegadores, menos nessa versão específica... Pode ser que tá com problema nas versões para windows 98/95/Me, mas não testei ainda...
O Erro ocorre na linha: document.getElementById(destObj).innerHTML=ajResponse; da função makeAjaxRequest mais abaixo...
O pior é que eu alterei essa linha pra mostrar o conteúdo de ajResponse com um alert(ajResponse); e rodou de boa...
alguém pode me ajudar a entender o que tá ocorrendo???
Segue o código:
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.