create javascript html iframe

javascript - create - ¿Hay alguna forma de evitar que un iframe redirija la ventana principal, pero de tal manera que las redirecciones de "nivel superior" todavía funcionen dentro del propio iframe?



iframe url (2)

Así que he leído acerca de la propiedad de la zona de sandbox HTML5 y entiendo que si quiero evitar que un iframe redirija su ventana principal, puedo usar la propiedad de la zona de pruebas dejando fuera el allow-top-navigation . Sin embargo, cuando se hace esto, si el iframe se basaba originalmente en la redirección de nivel superior, lo que sucede en su lugar es que redirige a una página en blanco, lo que rompe la navegación.

¿Puedo evitar que el iframe retoque su ventana principal y al mismo tiempo permite redireccionamientos de "nivel superior", permitiendo que estos funcionen dentro del contexto del iframe en lugar de ser de nivel superior?

Edición: para el contexto, estoy trabajando con un tercero y su página tiene un formulario con un _top objetivo. Si el iframe está en un espacio aislado, al enviar el formulario los usuarios obtienen una página en blanco, si no está en un espacio aislado, toda la página se redirige. Estoy buscando algo que permita enviar el formulario y mostrar el resultado dentro del propio iframe.



Puede usar la propiedad onbeforeunload y determinar si desea redirigir o no.

Aquí está la página de documentos para ello.

Básicamente lo que intentaría es esto:

  • Cree una función que agregue el atributo de la caja de arena con todo, simplemente dejando fuera el allow-top-navigation , al iframe
  • Vincule una función a la propiedad onbeforeunload del iframe que llama a la función que agrega el atributo sandbox (asegúrese de no devolver nada porque aparecerá un cuadro de diálogo)

Esto debería funcionar porque la solicitud se realiza en el iframe primero, y luego podemos evitar que se traslade a nuestra ventana de nivel superior.

Otra cosa que debe verificar es si tal vez omitió la opción de allow-forms , lo que puede causar lo que está describiendo.

Por favor, hágamelo saber si algo de esto funcionó.