"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso obter o URL da página pai de um iFrame em um subdomínio diferente?

Como posso obter o URL da página pai de um iFrame em um subdomínio diferente?

Publicado em 2024-11-18
Navegar:863

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

Acessar URL pai de um iFrame: restrições e soluções alternativas

Acessar o URL do quadro pai de um iFrame pode ser um desafio, especialmente quando o iFrame está localizado em um subdomínio diferente. Isso se deve a restrições de segurança impostas por medidas de prevenção de cross-site scripting (XSS).

Ao acessar o iFrame do mesmo domínio e subdomínio do quadro pai, o acesso à localização do pai deve ser simples usando expressões como pai .document.location ou parent.window.location. No entanto, conforme destacado pelo usuário, esta abordagem falha quando o iFrame está em um subdomínio diferente.

Para ilustrar melhor este ponto, considere o exemplo fornecido onde pageA.html está hospedado em http://www.mysite .com/ e pageB.html (o iFrame) estão hospedados em http://qa-www.mysite.com/. A tentativa de recuperar o URL do pai de pageB.html acionará um erro de acesso negado. Isso confirma que os subdomínios também estão sujeitos a restrições de script entre sites.

Embora o acesso direto ao URL do pai seja proibido nessas circunstâncias, há uma solução alternativa que pode ser utilizada. Para obter a URL do quadro pai, o seguinte código JavaScript pode ser empregado:

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

Nota:

  • window.parent.location evita o erro de segurança causado pelo acesso à propriedade href (window.parent. location.href).
  • document.referrer refere-se ao URI da página vinculada ao iFrame. Isso pode não retornar o documento que o contém se a localização do iFrame tiver sido determinada por outra fonte.
  • document.location refere-se à URL do documento, que neste caso é o iFrame. Quando window.location e window.parent.location são idênticos, o href do iFrame é igual ao href do pai.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3