Foros del Web » Programando para Internet » Javascript »

funciones invalidas en IE

Estas en el tema de funciones invalidas en IE en el foro de Javascript en Foros del Web. Buenas, uso estas funciones en javasript para abrir archivos .html dentro de un div. El problema es k en IE no funciona y en firefox ...
  #1 (permalink)  
Antiguo 30/03/2011, 15:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
funciones invalidas en IE

Buenas, uso estas funciones en javasript para abrir archivos .html dentro de un div.
El problema es k en IE no funciona y en firefox si.
hay alguna forma de arreglarlo para k funcione en los dos?


Código:
	var peticio = false;
	if (window.XMLHttpRequest) 
	{
		peticio = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) {
		peticio = new ActiveXObject("Microsoft.XMLHTTP");
	}

	function cargarExtern(dades,divID) {
		if(peticio) 
		{
			var obj = document.getElementById(divID);
			peticio.open("GET", dades);
			peticio.onreadystatechange = function() {
				if (peticio.readyState == 4) {
					obj.innerHTML = peticio.responseText;
				}
			}
			peticio.send(null);
		}
	}
Código:
<a href="javascript:cargarExtern('info.html','contingut');">Informacio Reloaded</a>
  #2 (permalink)  
Antiguo 30/03/2011, 16:21
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: funciones invalidas en IE

puede que sea por la versión de ie que usas. prueba con de otra manera
Cita:
var obj = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2. XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var objhttp = false;
for(var i=0 ; !objhttp && i<obj.length ; i++){
try{
objhttp = new ActiveXObject(obj[i]);
}
catch(e) {
objhttp = false;
}
}
if(!objhttp && typeof XMLHttpRequest!='undefined') {
objhttp = new XMLHttpRequest();
}
return objhttp;
  #3 (permalink)  
Antiguo 30/03/2011, 16:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

internet explorer 8

no veo com usar ese codigo, kiza le falte algo por eso no lo veo
  #4 (permalink)  
Antiguo 30/03/2011, 17:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: funciones invalidas en IE

usalo así
Cita:
function fnc() {
var obj = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2. XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var objhttp = false;
for(var i=0 ; !objhttp && i<obj.length ; i++){
try{
objhttp = new ActiveXObject(obj[i]);
}
catch(e) {
objhttp = false;
}
}
if(!objhttp && typeof XMLHttpRequest!='undefined') {
objhttp = new XMLHttpRequest();
}
return objhttp;
}



function cargarExtern(dades,divID) {
var peticio = fnc();
var obj = document.getElementById(divID);
peticio.open("GET", dades);
peticio.onreadystatechange = function() {
en ie8 funciona esto
Cita:
var objhttp = false;
objhttp = new XMLHttpRequest();
return obhttp;
  #5 (permalink)  
Antiguo 30/03/2011, 18:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

y como puedo aplicar esto al mio sin tener k cambiar los href?
ya k yo solo llamo la funcion cargarExtern y tu usas dos.
  #6 (permalink)  
Antiguo 30/03/2011, 18:38
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

parece que lo que te ha mandado IsaBelM está cojo

Código Javascript:
Ver original
  1. function ajaxFunction() {
  2.   var xmlHttp;
  3.  
  4.   try {
  5.    
  6.     xmlHttp=new XMLHttpRequest();
  7.     return xmlHttp;
  8.   } catch (e) {
  9.    
  10.     try {
  11.       xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  12.       return xmlHttp;
  13.     } catch (e) {
  14.      
  15.       try {
  16.         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  17.         return xmlHttp;
  18.       } catch (e) {
  19.         alert("Tu navegador no soporta AJAX!");
  20.         return false;
  21.       }}}
  22. }
  23.  
  24.  
  25.  
  26.  
  27. function cargarExtern(_pagina,capa) {
  28.     var ajax;
  29.     ajax = ajaxFunction();
  30.    
  31.     ajax.open("GET", _pagina, true);
  32.     ajax.setRequestHeader("Content-Type", "text/html");
  33.     /*ajax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1")*/
  34.     ajax.setRequestHeader("encoding", "utf-8");
  35.  
  36.     ajax.onreadystatechange = function() {
  37.         if (ajax.readyState==1){
  38.             document.getElementById(capa).innerHTML = " Cargando...";
  39.                  }
  40.         if (ajax.readyState == 4) {
  41.            
  42.                 document.getElementById(capa).innerHTML=ajax.responseText;
  43.              }}
  44.              
  45.     ajax.send(null);
  46. }


machaca todo el código que nos has enviado por este y debería funcionar sin mas
  #7 (permalink)  
Antiguo 30/03/2011, 18:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

continua sin ir en IE 8
  #8 (permalink)  
Antiguo 30/03/2011, 18:43
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

a mi me está funcionando en ie8 :S
  #9 (permalink)  
Antiguo 30/03/2011, 18:44
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

si te tira algun error pasalo por aqui a ver de que se queja
  #10 (permalink)  
Antiguo 30/03/2011, 18:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

pues en la parte de abajo del navegador, donde normalmente se muestran los links, pone error en la pagina.
  #11 (permalink)  
Antiguo 30/03/2011, 18:53
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

hazle doble click y te dirá cual es el error
tienes mas javascript aparte de esto?
  #12 (permalink)  
Antiguo 30/03/2011, 19:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
Fecha: Thu, 31 Mar 2011 01:06:06 UTC


Mensaje: Acceso denegado.

Línea: 31
Carácter: 5
Código: 0
URI: file:///C:/Users/usuari/Desktop/web%20mm/funcions.js


i en el alinea 31 hay:

ajax.open("GET", _pagina, true);
  #13 (permalink)  
Antiguo 30/03/2011, 19:09
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

estas tratando de llamar a una pagina que no se encuentra en el mismo servidor?
  #14 (permalink)  
Antiguo 30/03/2011, 19:16
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

no, esta en la misma carpeta.
  #15 (permalink)  
Antiguo 30/03/2011, 19:29
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

ok supongo que no estas haciendo las pruebas sobre ningun servidor y lo estas haciendo directamente sobre una carpeta en el equipo

descargate wamp server, instalalo y se creará una carpeta www alla donde lo hayas instalado

creas una carpeta dentro de www y dentro de esa carpeta pones tus archivos

arrancas el wamp server y en el navegador entras en

http://localhost/carpeta/

ahora si que deberia funcionar
  #16 (permalink)  
Antiguo 30/03/2011, 20:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

no hay php.
lo subi en un host gratuito y continua fallando con el IE.
  #17 (permalink)  
Antiguo 30/03/2011, 20:24
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

ya no solo es php, ahi estas tratando una peticion get que debe tratar un servidor, quizá ese hosting tampoco te lo permita hacer.
  #18 (permalink)  
Antiguo 30/03/2011, 20:26
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

lo que te interesa realmente es lo que te monta de un servidor apache, el php imagino que te viene de mas pero ya viene ahi.

Pero bueno, eso deberia funcionar, es mas a mi me ha funcionado copiando y pegando talcual.

Cualquier problema es cosa de tu host
  #19 (permalink)  
Antiguo 30/03/2011, 20:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

ok! voi a provar.

Graciass
  #20 (permalink)  
Antiguo 30/03/2011, 20:29
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

no hay de que
y de todos modos si te vas a interesar en esto mejor que cualquier hosting gratuito es que tengas el wamp instalado y hagas ahi las pruebas y ademas no te lias con andar subiendo los archivos cada vez que los editas
y ahora quiza sabras poco pero si quieres aprender, eso es lo mejor que puedes tener instalado
  #21 (permalink)  
Antiguo 05/04/2011, 18:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

como puedo hacer un fordward al usar mi funcion del primer post??
  #22 (permalink)  
Antiguo 06/04/2011, 11:47
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

un fordward?
  #23 (permalink)  
Antiguo 06/04/2011, 16:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: funciones invalidas en IE

kiero decir atras
  #24 (permalink)  
Antiguo 06/04/2011, 16:29
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

lo tienes complicado, de por si no se puede, ese es el fallo de ajax,creo que hay unas librerias que implementan eso, busca en google o espera a que alguien mas responda, yo nunca he llegado a tocarlo
  #25 (permalink)  
Antiguo 06/04/2011, 16:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: funciones invalidas en IE

ojeando
Cita:
Iniciado por juanito1712 Ver Mensaje
parece que lo que te ha mandado IsaBelM está cojo
te equivocas

si es cuando reciba la respuesta, usa history.forward() o history.go(-1)
  #26 (permalink)  
Antiguo 06/04/2011, 17:33
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: funciones invalidas en IE

esque vi este final
peticio.onreadystatechange = function() {

y no me pare a fijarme si era que te habias comido el resto por error o lo habias omitido porque estaba correcto
  #27 (permalink)  
Antiguo 01/07/2011, 11:56
 
Fecha de Ingreso: marzo-2010
Ubicación: df
Mensajes: 58
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: funciones invalidas en IE

Yo tambien tuve este horrible problema de incompatibilidad y fue causado por la forma de crear el objeto XMLHttpRequest, ya que new XMLHttpRequest si es creado con IE8 de modo que no lanza una exepcion, así que para saber que navegador esta usando el usuario yo uso el objeto navigator.

Código Javascript:
Ver original
  1. function loadXMLDoc()
  2. {
  3. var xhr;
  4.    
  5. if (navigator.appName != "Microsoft Internet Explorer")
  6. {
  7.     //Mozilla, Safari, etc
  8.     alert("mozilla");
  9.     xhr = new XMLHttpRequest();
  10.     //xhr = new ActiveXObject("Msxml2.XMLHTTP")
  11. }
  12. else{
  13.     alert("Own dearing IE");
  14.     xhr = new ActiveXObject("Msxml2.XMLHTTP");
  15. }


Por cierto, para xhr.status debe ser igual a 0 no a 200. Por se esta trabajando con archivos y no con http.
Saludos.

Etiquetas: funciones
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 12:38.