/ / Lieu de rassemblement d'un IFRAME - javascript, iframe

Lieu de rassemblement d'un IFRAME - javascript, iframe

Je construis un script / une application (côté client et sur le site proxy également) qui rassemble des informations sur les éléments de divers sites Web.

Une dernière chose qui me pose problème est de localiser l’emplacement d’un IFRAME. Laissez-moi vous expliquer cela plus en détail:

  • Invariant: Emplacement de IFRAME ne change pas par interaction de l'utilisateur
  • Certaines pages Web utilisent l'attribut SRC pour définir l'emplacement du nouvel IFRAME - défini via un script ou saisi manuellement dans la source - c'est ok (pas de problème)
  • D'autres pages Web utilisent diverses techniques pour renseigner IFRAME de manière dynamique et n'utilisent pas l'attribut SRC de IFRAME - c'est correct si l'emplacement de cet IFRAME est à l'intérieur du même domaine, sinon l'accès est dangereux à un autre domaine

Je vais inclure un exemple de code HTML:

<html>
<body>
<a href="http://www.google.com" target="test_iframe">Click here to open an iframe.</a>
<br>
<iframe id="test_iframe" name="test_iframe"></iframe>
</body>
</html>

Donc, si j'essaye par JavaScript, j'obtiens une chaîne vide.

document.getElementById("test_iframe").src

Et si j'essaye d'utiliser ceci ci-dessous, j'aurai une erreur de sécurité.

document.getElementById("test_iframe").conentDocument.location.href

Donc, ma question peut être réduite à:

  • Y at-il une technique à rassembler emplacement de tel IFRAME dont le contenu est en dehors du domaine parent et que IFRAME est sans SRC attribut?

Merci beaucoup pour vos réponses :-)

Réponses:

1 pour la réponse № 1

Ceci s'appelle iframejailing. Il n'est pas possible de lire ou de modifier un élément iframe dans la page s'il pointe vers un domaine différent. C'est une fonctionnalité de sécurité intégrée dans les navigateurs.

Cependant, il existe certaines solutions de contournement si les domaines des questions peuvent travailler ensemble pour créer un proxy iframe (google pour obtenir plus d'informations), ce qui, à mon avis, n'est pas applicable.

Répondez si vous avez d'autres questions.