Ich möchte die Chrome-Entwicklerkonsole verwenden, um Variablen und DOM-Elemente in meiner App anzuzeigen, aber die App befindet sich in einer iframe
(da es sich um eine OpenSocial-App handelt).
Die Situation ist also:
<containing site>
<iframe id='foo' src='different domain'>
... my app ...
</iframe>
</containing site>
Gibt es eine Möglichkeit, iframe
über die Entwicklerkonsole auf die darin enthaltenen Ereignisse zuzugreifen ? Wenn ich es versuche, funktioniert document.getElementById("foo").something
es nicht, wahrscheinlich weil sich das iframe
in einer anderen Domäne befindet.
Ich kann den iframe
Inhalt nicht in einem neuen Tab öffnen , da iframe
dieser auch mit der enthaltenen Site kommunizieren muss.
quelle
Derzeit wird die Auswertung in der Konsole im Kontext des Hauptrahmens auf der Seite durchgeführt und es wird dieselbe Ursprungsrichtlinie wie im Hauptrahmen selbst angewendet. Dies bedeutet, dass Sie nur dann auf Elemente im Iframe zugreifen können, wenn dies im Hauptrahmen möglich ist. Sie können jedoch weiterhin Haltepunkte festlegen und Ihren Code mithilfe des Skriptbedienfelds debuggen.
Update: Dies ist nicht mehr wahr. Siehe die Antwort von Metagrapher .
quelle
In meinem ziemlich komplexen Szenario funktioniert die akzeptierte Antwort dafür in Chrome nicht. Möglicherweise möchten Sie stattdessen den Firefox-Debugger (Teil der Firefox-Entwicklertools) ausprobieren, der alle 'Quellen' anzeigt, einschließlich derjenigen, die Teil eines iFrames sind
quelle
Sources
Wenn der iFrame wie folgt auf Ihre Site verweist:
Sie können über diese Art von Dingen auf iFrame DOM zugreifen.
quelle