example ejemplo javascript html iframe src

javascript - ejemplo - iframe sin un atributo src



php iframe (9)

Como publiqué en esta pregunta: ¿Es válido un iframe src vacío? , parece aceptable omitir por completo el atributo src= .

Me gustaría crear un <iframe> en la página, pero luego agregar el src más tarde. Si hago un iframe sin un atributo src , entonces carga la página actual en algunos navegadores. ¿Cuál es el valor correcto para configurar src para que solo cargue un iframe en blanco?

Las respuestas que he visto son:

  • about:blank
  • javascript:false
  • javascript:void(0)
  • javascript:"";
  • URL a una página en blanco

¿Hay un claro ganador? Si no, ¿cuáles son las compensaciones?

Me gustaría no tener advertencias de contenido mixto para urls HTTPS, ni ningún botón de retroceso, historial o volver a cargar rarezas en todos los navegadores desde IE6 en adelante.


El enfoque estándar cuando se crea un iframe "vacío" (como un ajuste de iframe, por ejemplo), es establecer el src como javascript:false; . Este es el método utilizado por la mayoría de las bibliotecas de JavaScript que crean cuñas iframe para usted (por ejemplo, Overlay de YUI).


Haga referencia a su comentario aclarando que está planeando usar el iframe como objetivo para el envío de un formulario:

Yo usaría un documento vacío en el servidor que devuelve un 204 no content .

Evita

  • advertencias de "contenido mixto" en modo IE y HTTPS
  • Errores innecesarios porque un cliente no comprende el protocolo javascript:
  • y otras travesuras exóticas.

También es válido HTML.

Entonces, ¿qué ocurre si genera una solicitud adicional? Establezca los encabezados de almacenamiento en caché a la derecha, y solo habrá una solicitud para cada cliente.


IMO: si no pone el src, su página no se validará. Pero es sobre eso. Si coloca un src = "", su servidor registrará muchos errores 404.

Nada está realmente mal como en "dañar". Pero entonces, ¿no está mal usar un iframe en sí mismo?

° -


No estoy seguro de si todos los navegadores son compatibles con "sobre: ​​en blanco", así que simplemente iré con su propia página en blanco.

Otra idea: ¿por qué no agregar todo el iframe utilizando javascript en lugar de simplemente el src?


Qué pasa

about:blank


Sí, sé que estoy reviviendo un hilo viejo. Demándame. Estoy interesado en la respuesta.

No entiendo por qué el hecho de que el desencadenante sea un envío de formulario impide crear dinámicamente el IFrame. ¿Esto no hace exactamente lo que quieres?

<html> <head> <script type="text/javascript"> function setIFrame(elemName, target, width, height) { document.getElementById(elemName).innerHTML="<iframe width="+width+" height="+height+" src=''"+target+"''></iframe>"; } </script> </head> <body> <div id="iframe" style="width:400px; height:200px"></div> <form onSubmit="setIFrame(''iframe'', ''http://www.google.com'', 400, 200); return false;"> <input type="submit" value="Set IFrame"/> </form> </body> </html>


javascript:false :
IE10 y FF (marcado en v23 en Linux) mostrarán ''falso'' como contenido.

javascript:void(0) && javascript:; :
IE mostrará el error ''no se puede mostrar la página web'' en el iframe. Además, al configurar src desde una URL válida a javascript:void(0) , la página no se pondrá en blanco.

about:blank :
Funciona en todos los navegadores pero IE 9 envía una solicitud al servidor con la ruta "nula". Sigue siendo la mejor apuesta de la OMI

Pago y http://jsfiddle.net/eybDj/1
Consulte http://jsfiddle.net/sv_in/gRU3V/ para ver cómo iframe src cambia en la actualización dinámica con JS


javascript:false funciona en los navegadores modernos.

Lo que he visto es que esto solo "falla" cuando las arañas tontas intentan cargar javascript:false como una página.

Solución: Bloquea las arañas tontas.