Estimados estoy cargando una web externa por medio de iframe y cuando esta pagina no carge me redirija a otra pagina. Como puedo hacer esto por medio de javascript o jquery??.
Gracias
| ||||
Respuesta: Verificar 200 ok por javascript o jquery si conoces el contenido de esa web externa, puedes hacer un "ping". se trata de intentar cargar una imagen de esa web y con los métodos onload() y onerror() saber si la imagen se ha cargado. hay otros modos de hacerlo pero tienes una alta posibilidad de obtener falsos positivos. aunque esto depende de la configuración jsp que tenga el usuario
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery iframe no soporta el evento onerror, y en cuanto al onload incluso si te encontrás con un 404 / 403 se va a ejecutar Una alternativa es utilizar object en lugar de iframe, en ese caso, a menos que la respuesta sea un status 200, vas a recibir una advertencia, ejemplo
Código HTML:
Ver original
Código HTML:
Ver original EDITO: no funciona. asi que creo que lo que queda es: La otra es verificar el status con Ajax SAludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. Última edición por emprear; 29/10/2012 a las 17:22 |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery emprear creo que no me expliqué bien. desde al página contenedora se hace una petición de un recurso, una imagen, y al mismo tiempo registramos un evento para saber si se cargó la imagen
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Pero pregunto? La existencia de una imagen ó no, implica la existencia del html que la llama? Y como siempre en estos casos, siempre supongo lo peor, que el usuario nos responderá luego diciendo que no tiene acceso a la página que carga el iframe Agrego, mi ejemplo anterior tampoco funciona bien
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. Última edición por emprear; 29/10/2012 a las 17:23 |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery con un ejemplo se entenderá mejor Cita: como ves pido una imagen de forosdelweb (reply.gif). como existe, en el iframe se cargara forosdelweb. si ahora cambiamos el nombre de la imagen por (replys.gif), como no existe, en el iframe se cargará maestrosdelweb <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> <head> <script type="text/javascript">document.write('<img src="http://static.forosdelweb.com/fdwtheme/images/buttons/reply.gif?'+Math.random()+'" style="display:none" onload="fnc(true);" onerror="fnc(false);" />');</script> </head> <body> <script type="text/javascript"> function fnc(exito) { if (!exito) { document.getElementById('framebox').src = 'http://www.maestrosdelweb.com/'; } } </script> <IFRAME id="framebox" name="framebox" frameborder="1" scrolling="auto" src="http://www.forosdelweb.com/"></IFRAME> </body> </html>
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Buena la has hecho,, ahora me confundiste más que antes Según sandino Cita: Según entiendo vos lo que a lo sumo verificas con la existencia de la imagen, es la imagen misma (on en todo caso que determinado servidor no está caído), no la url del html que se llama en el iframe. Bien podría ser que replys.gif no existiese (o sí, daría lo mismo), pero tampoco existiesen:cargando una web externa por medio de iframe y cuando esta pagina no carge me redirija a otra pagina http://www.forosdelweb.com/estapaginanoexiste.html ó http://www.maestrosdelweb.com/estapaginanoexiste.html Se cargaría un 404 en ambos casos Volviendo a mi ejemplo del <object>. que no funcionó, explico, por ahi se te ocurre algo si el src del iframe no existe se carga un ErrorDocument 404, personalizado ó por defecto del server, un caso similar, si fuese un 403 (supongamos que invocamos un directorio con el indexado prohibido) Con el object, a menos que el valor para data de un status 200, la url no se carga y muestra el contenido alternativo <object....> <p>Se muestra esto !</p> </object> en función de eso se me ocurrió que al usar <object....> <script> //... redirección </script> </object> iba a funcionar, pero después me di cuenta de que la script se ejecuta siempre Ejemplo
Código HTML:
Ver original quizás analizando el como se comporta el object respecto a un status != 200 se te ocurra algo Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Creo tener la solución, recordé que con el tema de los plugins flash, quickTime, etc <object> permitía, "anidar objects", modificando el ejemplo anterior, en el último object podemos hacer
Código HTML:
>Ver original Desde luego que esa segunda url tendremos que asegurarnos exista Demo: http://foros.emprear.com/html/redirect-object.html Espero que sea eso lo que quiere. Igualmente sería bueno ver lo del javascript Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery yo entendí que la url existe. y lo que quería es que en caso de caída del servidor o tiempo de espera agotado, se cargara en el iframe una web en respuesta diferente al jsp del usuario se podría cargar una web alternativa si el error es 50x (servidor)?? si es así, tu opción es la mas completa
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Cita: Si, pero debería hacerse via .htaccess, generalmente un ErrorDocument 500 apunta a una url externa al server.Pero como aqui hablamos de redirección ante la imposibilidad de cargar la url del iframe, no es lo mismo. Por otro lado un error 500 implica un error en un servidor, pero nó que este esté caido Forcé y agregué un error 500 en los ejemplos http://foros.emprear.com/html/redirect-object.html Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery hay algunos aspectos de tu respuesta que no comprendo Cita:
Iniciado por emprear Si, pero debería hacerse via .htaccess, generalmente un ErrorDocument 500 apunta a una url externa al server. en el apache tenéis la suerte de tener .htaccess. cuando he programado en asp, mi servidor (iss) me ha arrojado errores 50x. el mas común era el 500 Pero como aqui hablamos de redirección ante la imposibilidad de cargar la url del iframe, no es lo mismo. hasta ahora no me había dado cuenta que se trata de redireccionar Por otro lado un error 500 implica un error en un servidor, pero nó que este esté caido no es el error 503?? servicio no disponible
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Primero me voy a apartar del planteo original. Cuando el navegador resuelve una ip a través de los DNS abre un socket IP hacia la misma enviando y recibiendo un flujo de datos a través del protocolo HTTP, ese flujo de datos contiene códigos de estado, los más conocidos 200 = ok 404 = not found 403 = Forbidden 500 = Internal server error y el que mencionas 503 = Service Temporarily Unavailable Sea cual fuese el caso, eso no significa que el server NO esté funcionando, ya que en definitiva esos mensajes se generan en el Servidor Apache (En IIS los códigos son los mismos, ya que estos atañen al protocolo http, no al Software que usemos) El error 503 es bastante particular, ya que se lo genera exprofeso, la situación típica, estamos haciendo tareas de mantenimiento y queremos indicar que la baja es "temporal", su uso más frecuente es favorecer el reindexado por parte de los buscadores, suele ir acompañando de una directiva Header always set Retry-After "36000" (el tiempo en segundos) Aqui dejo un ejemplo http://foros.emprear.com/503 Estás son las cabeceras que envía la página Date: Tue, 30 Oct 2012 22:19:17 GMT Server: Apache/2.2.15 (CentOS) Retry-After: 18000 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 292 Connection: close Content-Type: text/html; charset=iso-8859-1 503 Service Temporarily Unavailable Muy diferente sea el caso de intentar navegar, y permitime el atrevimiento, por ejemplo http://IsabelM-emprear.com Servidor no encontrado Firefox no puede encontrar el servidor en www.isabelm-emprear.com Y aqui retomo lo dicho por @Sandino Cita: Yo entiendo que sí es una redirección, Muy sencillo sería crear un ErrorDocument para los diferentes status, con lo que el iframe redireccionaría a una página específica (menos desde luego, en el caso del IsabelM-emprear.com), pero para una solución global,ya que @Sandino no indica lo contrario, y que no vamos a tener acceso al .htaccess de la url externa, la solución del uso de <object> es la más indicada.cuando esta pagina no carge me redirija a otra pagina He agregado en mi ejemplo, los casos de 503 y del servidor ficticio, y la redirección a la url del segundo object anidado, se produce sin problemas http://foros.emprear.com/html/redirect-object.html Espero que haya quedado más claro Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery que hay que hacer una redirección. me di cuenta tarde en que consiste el error 503. me ha quedado claro pero Cita: no acabo de pillarlode cualquier modo, no tiene importancia
__________________ if(ViolenciaDeGénero) {alert('MUJER ASESINADA');} |
| ||||
Respuesta: Verificar 200 ok por javascript o jquery Ya que llegamos hasta aquí En ciertos casos el error 500 puede afectar la visualización de la página definida en el errorDocument, por lo que conviene, en la medida de lo posible, en lugar de definir una página local, utilizar una url a otro dominio errorDocument 500 "http://otrodominio.com/error500.php SAludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
Etiquetas: |