Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

276
Visualizações
Detectar iframe de nivel superior en una página web de iframes anidados

Estoy usando una extensión de Chrome para inyectar páginas web como iframes dentro de una de las páginas internas de mi extensión.

Eliminando los encabezados de origen cruzado de los iframes, por lo que se muestran bien.

Y configurando el campo "all_frames": true en el manifiesto de la extensión , lo que permite que mi script de contenido se inyecte en todas las páginas y los iframes dentro de ellas también.

manifiesto.json:

 "content_scripts": [ { "matches": [ "<all_urls>" ], "all_frames": true, //<------ "run_at": "document_idle", "js": [ "js/content-script.js" ] } ],

El problema es:

Esto inyecta mi secuencia de comandos de contenido en TODOS los iframes dentro de las páginas web (algunos sitios web ya tienen iframes, por lo que aquí tenemos una situación de iframes anidados).

Necesito intercambiar mensajes solo con el iframe de nivel superior. No me importan los iframes de niños anidados dentro de la página.

Traté de detectar la ventana principal de esta manera:

contenido-script.js

 if (window !== window.top) { console.console('iframe'); } else { console.console('NOT iframe'); }

Pero siempre es iframe porque, bueno, estoy inyectando la página web de nivel superior como un iframe dentro de mi extensión.

Mi pregunta es:

¿Cómo puedo detectar solo el iframe de nivel superior?

Entonces, si este es el caso ahora:

 <iframe name="1"> <iframe name="2"> <iframe name="3"></iframe> </iframe> </iframe>

¿Cómo puedo detectar si este script se está ejecutando dentro del iframe #2?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda