Boa tarde,
Gostaria de saber se é possível um browser não conseguir executar o getElementById, pois estou tentando rodar um script em um browser do Windows Mobile 2003 Second Edition e a execução é interrompida justamente na chamada deste método.
Utilizei o script abaixo para fazer uns testes e sempre é levantado o alerta, não passou por nenhuma das opções.
[code]var elemento = null;
if(document.getElementById){
elemento = document.getElementById(nome);
}else if(document.all){
elemento = document.all[nome];
}else if(document.layers){
elemento = document.layers[nome];
}else{
alert(“Seu browser não é capaz de exibir a página.”);
}
elemento;[/code]
Segue abaixo o meu script:
[code]
function pegarElemento(nome) {
var elemento = null;
if(document.getElementById){
elemento = document.getElementById(nome);
}else if(document.all){
elemento = document.all[nome];
}else if(document.layers){
elemento = document.layers[nome];
}else{
alert("Seu browser não é capaz de exibir a página.");
}
return elemento;
};
function executarConteudo(chave, parametros) {
var xmlhttp;
if (window.XMLHttpRequest) {// Código para IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// código para IE6, IE5
try {
//If the Javascript version is greater than 5.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//If not, then use the older active x object.
try {
//If we are using MS.
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
//Else we must be using a non-IE browser.
xmlhttp = false;
}
}
}
if (!xmlhttp) {
throw new Error("Problema na inicialização");
}
var paramUrl = [];
for (var name in parametros) {
paramUrl.push(name+"="+parametros[name]);
}
var urlFinal = chave+"?"+paramUrl.join("&");
xmlhttp.open("POST", urlFinal, true);
xmlhttp.onreadystatechange = function pegarEstadoRequisicao() {
if (xmlhttp.readyState==4 /*Concluído*/) {
var elemento = pegarElemento("mainframe");
elemento.innerHTML = xmlhttp.responseText;
}
return xmlhttp.readyState;
}
xmlhttp.send(paramUrl.join("&"));
};[/code]