Pongamos que tengo un iframe que muestra la página google.es. Quiero que, al pulsar sobre el iframe, se abra google.es en otra pestaña.
He hecho lo siguiente:
<a href=google.es><iframe src="google.es"></iframe></a>
Pero lo que hace esto es lo siguiente: si pulso sobre el frame en sí mismo, el borde de éste se convierte en rojo y no pasa nada. Si pulso justamente en el borde, se abre google.es en la misma ventana y pestaña.
¿Se os ocurre algo? Saludos y muchas gracias.
PD: estoy usando Google Chrome. Como no entendía el fallo, lo probé con Internet Explorer y sí funcionó lo de abrir google.es pulsando en el frame, en la misma ventana y pestaña (quiero que se me abra en otra pestaña).
No he entendido muy bien, pero...
<a href="http://google.es/" target="_blank"><iframe src="google.es"></iframe></a>
Gracias, pero pasa lo mismo: en Chrome sólo funciona el link si pulso sobre el borde del iframe. Si pulso sobre el contenido del iframe, el iframe en sí mismo, no pasa nada. sólo se vuelve el borde rojo momentáneamente.
El iframe es técnicamente otra página, literalmente, por tanto si lo pinchas, pinchas en otra página.
Lo he intentado hacer con el evento click de jQuery y tampoco funciona...
Si, como dice lipman no puedes controlar lo que sucede en un iframe que dirija a una pagina externa, mas que nada por razones de seguridad.
Lo que si puedes es utilizar la pagina onload para que cuando le de a un enlace desde dentro de la pagina haga lo que tu quieras.
Y una capa invisible por encima (Como Harry Potter)? Debería funcionar.
No entiendo el porque de usar un iframe para abrir otra pestaña si lo que puedes hacer es tomar el logo de la pagina o un screenshot y abrirlo en target _blank para que sea abierta en otra pestaña otra manera podria ser con una capa con overflow insertando la pagina con php.
Cita de: deadfrommayhem en 3 Junio 2012, 18:00 PM
No entiendo el porque de usar un iframe para abrir otra pestaña si lo que puedes hacer es tomar el logo de la pagina o un screenshot y abrirlo en target _blank para que sea abierta en otra pestaña otra manera podria ser con una capa con overflow insertando la pagina con php.
Normalmente eso se hace para 'cosas malignas', ya sea falsificación de tráfico, clicks, descarga de malware, etc...
Cita de: dimitrix en 3 Junio 2012, 18:12 PM
Normalmente eso se hace para 'cosas malignas', ya sea falsificación de tráfico, clicks, descarga de malware, etc...
No, no es nada de eso.
Estoy creando un sistema operativo que tiene toda la interfaz en tecnlogías web, así como las apps. Lo del iframe es porque cada icono de app es en realidad una especie de widget.
mmmm.... esto me suena a que ya lo he hecho...
tienes un index.html, y desde el llamas a una pagina llamda iframe.html donde tienes el iframe...
<a href="iframe.html" target="_blank"></a>
en el iframe.html:
<iframe src="google.es"></iframe>
muy básico....
No me funciona...
No veo otra solución, tendrías que hacer lo que dice dimitrix. Si, es un poco guarro, pero qué le vamos a hacer xD podrás controlar el iframe de esa manera.
CitarEstoy creando un sistema operativo que tiene toda la interfaz en tecnlogías web, así como las apps. Lo del iframe es porque cada icono de app es en realidad una especie de widget.
Eso es extramadamente 'cutre'. Usa Ajax o JS, será mucho mejor.
Yo tengo un dicho, si no se hacer algo bien, lo estudio antes de hacerlo mal :S
Cita de: dimitrix en 4 Junio 2012, 00:29 AM
Eso es extramadamente 'cutre'. Usa Ajax o JS, será mucho mejor.
Yo tengo un dicho, si no se hacer algo bien, lo estudio antes de hacerlo mal :S
+1! xD
Cita de: dimitrix en 4 Junio 2012, 00:29 AM
Eso es extramadamente 'cutre'. Usa Ajax o JS, será mucho mejor.
Yo tengo un dicho, si no se hacer algo bien, lo estudio antes de hacerlo mal :S
Pero es cuando haga la versión definitiva ya haré eso, lo quería hacer para hacer una prueba que necesito, antes de ponerme con JS.
<iframe src="http://www.google.cl/" onclick="document.location='http://www.google.cl/';"></iframe>
Cita de: WHK en 4 Junio 2012, 16:14 PM
<iframe src="http://www.google.cl/" onclick="document.location='http://www.google.cl/';"></iframe>
Sólo funciona pulsando el borde.
Claro por que cuando pinchas dentro del iframe es como si fuera otra pagina completamente distinta.
Solo te queda la opción que te dijo dimitrix , una capa invisible.
Salu2
Ok, gracias a todos. A ver si consigo lo de poner una capa invisible.
<div style="position: relative; width: 400px; height: 300px; border: 1px solid black;">
<iframe style="width: 100%; height: 100%; border: 0px; overflow: hidden;" src="http://www.yahoo.com/"></iframe>
<div style="position: absolute; width: 100%; height: 100%; top: 0; left: 0; cursor: pointer;" onclick="document.location='http://www.yahoo.com/';"></div>
</div>
Así?
http://jsfiddle.net/shsmp/
Cita de: WHK en 7 Junio 2012, 15:44 PM
<div style="position: relative; width: 400px; height: 300px; border: 1px solid black;">
<iframe style="width: 100%; height: 100%; border: 0px; overflow: hidden;" src="http://www.yahoo.com/"></iframe>
<div style="position: absolute; width: 100%; height: 100%; top: 0; left: 0; cursor: pointer;" onclick="document.location='http://www.yahoo.com/';"></div>
</div>
Así?
http://jsfiddle.net/shsmp/
¡Excelente! Sólo hay un problema: el iframe no muestra yahoo.com, sino que está en blanco. Supongo que es porque la otra capa no es invisible.
Cita de: WHK en 7 Junio 2012, 15:44 PM
<div style="position: relative; width: 400px; height: 300px; border: 1px solid black;">
<iframe style="width: 100%; height: 100%; border: 0px; overflow: hidden;" src="http://www.yahoo.com/"></iframe>
<div style="position: absolute; width: 100%; height: 100%; top: 0; left: 0; cursor: pointer;" onclick="document.location='http://www.yahoo.com/';"></div>
</div>
Así?
http://jsfiddle.net/shsmp/
No consigo hacer que el iframe se vea... Se ve todo blanco...
Yo lo veo bién en firefox, chrome e internet explorer 8, vee que realmente te esté cargando el iframe y que no tengas bloqueado yahoo, usa firefox y trata de inspeciconar el elemento con firebug y vas viendo que está bién y que está mal.
Por esas casualidades de la vida estas usando internet explorer 6?
Cita de: WHK en 8 Junio 2012, 14:54 PM
Yo lo veo bién en firefox, chrome e internet explorer 8, vee que realmente te esté cargando el iframe y que no tengas bloqueado yahoo, usa firefox y trata de inspeciconar el elemento con firebug y vas viendo que está bién y que está mal.
Por esas casualidades de la vida estas usando internet explorer 6?
No, la última versión estable de Chrome.
Y con Safari tampoco lo veo. ¿Será Webkit?
Y con Firefox tampoco me funciona.
¡Con una web sí que me funciona!
PD: disculpad mis mensajes seguidos...