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

217
Visualizações
Cómo ejecutar un script solo si div: contiene un iFrame - Greasemonkey

Entonces, digamos que tenemos este código en un iFrame. Estoy bastante seguro de que el iFrame es del mismo dominio, eso es importante, creo.

 <div id="10">You become 1 best coder</div>

Quiero un script de Greasemonkey que ejecute un script solo si tanto "div id=10" como el texto (o parte del texto) son verdaderos.

Intenté esto:

 // ==UserScript== // @name Script // @include https://www.somesite.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js // @grant GM_addStyle // ==/UserScript== /*- The @grant directive is needed to work around a design change introduced in GM 1.0. It restores the sandbox. */ var intv = setInterval(function() { const sp = document.querySelector('#10'); // find id (some) if (sp && sp.textContent === 'You become 1 best coder') { alert('Hello world!'); } }, 5000);

Y esto funciona en una página regular con contenido regular. Pero cuando el contenido que necesito que identifique la secuencia de comandos para poder ejecutarlo se carga dentro de un iFrame, la secuencia de comandos no se ejecuta.

Aquí hay un ejemplo del código iFrame:

 <iframe src="something.php?text=M0000310y100g190e500A78014607601&amp;lalala=tT6&amp;ctrl=032a4c3342e76e97ea21821a5c5f800e&amp;mamama=c2ed5535532cc20aef064db2b4" width="100%" height="100%" frameborder="0"></iframe>

Supongo que el iFrame es del mismo dominio, porque si fuera de un dominio diferente, el src="" sería diferente, creo...

¿Alguien puede ayudar? Gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Primero necesitas obtener el iframe . Si ese es el único entonces puedes probar....

Nota: Actualizado en base al comentario

 // ==UserScript== // @name Script // @include https://www.somesite.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js // @grant GM_addStyle // ==/UserScript== /*- The @grant directive is needed to work around a design change introduced in GM 1.0. It restores the sandbox. */ const intv = setInterval(function() { const iframe = document.querySelector('iframe[src*="something.php"]'); const sp = iframe && iframe.contentWindow.document.body.querySelector('#10'); // find id (some) if (sp && sp.textContent === 'You become 1 best coder') { alert('Hello world!'); } }, 5000);

Actualizar

El contenido del iframe también es un documento. Si el código no necesita interactuar con el marco principal, puede inyectar el script de usuario en el documento iframe de destino y ejecutarlo allí.

about 4 years ago · Juan Pablo Isaza Relatório
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