Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda