"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo obtener la URL de la página principal desde un iFrame en un subdominio diferente?

¿Cómo puedo obtener la URL de la página principal desde un iFrame en un subdominio diferente?

Publicado el 2024-11-18
Navegar:253

How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

Acceder a la URL principal desde un iFrame: restricciones y soluciones

Acceder a la URL del marco principal desde un iFrame puede ser un desafío, especialmente cuando el iFrame está ubicado en un subdominio diferente. Esto se debe a las restricciones de seguridad impuestas por las medidas de prevención de secuencias de comandos entre sitios (XSS).

Al acceder al iFrame desde el mismo dominio y subdominio que el marco principal, acceder a la ubicación principal debe ser sencillo usando expresiones como parent .ubicación.del.documento o ubicación.de.la.ventana.principal. Sin embargo, como lo destacó el usuario, este enfoque falla cuando el iFrame está en un subdominio diferente.

Para ilustrar mejor este punto, considere el ejemplo proporcionado donde pageA.html está alojado en http://www.mysite .com/ y pageB.html (el iFrame) están alojados en http://qa-www.mysite.com/. Intentar recuperar la URL de los padres desde pageB.html generará un error de acceso denegado. Esto confirma que los subdominios también están sujetos a restricciones de secuencias de comandos entre sitios.

Si bien el acceso directo a la URL principal está prohibido en estas circunstancias, existe una solución alternativa que se puede utilizar. Para obtener la URL del marco principal, se puede emplear el siguiente código JavaScript:

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

Nota:

  • window.parent.location evita el error de seguridad causado al acceder a la propiedad href (window.parent. location.href).
  • document.referrer se refiere al URI de la página que se vinculó al iFrame. Es posible que esto no devuelva el documento que lo contiene si la ubicación del iFrame fue determinada por otra fuente.
  • document.location se refiere a la URL del documento, que es el iFrame en este caso. Cuando window.location y window.parent.location son idénticos, el href del iFrame es el mismo que el href del padre.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3