2013-02-23 9 views
5

Ich habe versucht, Skript in ein Iframe-Element zu injizieren versuchen, auf diese Weise zu implementieren, Kind und Eltern gehören nicht zur gleichen Domäne (ich weiß XSS ist in den neuesten Browsern verhindert) gibt es keine Möglichkeit, das Skript in das untergeordnete Element der Schaltfläche einzufügen, klicken Sie auf das übergeordnete Element. (ein bisschen ähnlich ausgeführte Skripts in Chromkonsole)injizieren Skript in Iframe der anderen Domäne

var myIframe = document.getElementById("myIframeId"); 
var script = myIframe.contentWindow.document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "randomshit.js"; 
myIframe.contentWindow.document.body.appendChild(script); 
+0

Nein, die Cross-Domain-Ursprungsrichtlinie verbietet dies. Die Seiten können jedoch über Nachrichten kommunizieren. –

Antwort

5

Nope. Same Origin Policy stammt aus Netscape 2.0.

Sofern Sie nicht hacken/XSS die Dateien der anderen Website, um die JS zu injizieren, werden Sie eine harte Zeit haben.

Jetzt, wenn Sie rechtmäßig mit der anderen Seite kommunizieren müssen, und Sie entweder die Kontrolle über die andere Seite haben oder es für die Kommunikation mit Ihrem Server einrichten, können Sie window.postMessage, JSONP oder sogar AJAX mit CORS (letzteres wird 2 schwieriger sein, dynamische Inhalte zu übergeben). Aber ich glaube, das ist nicht der Fall.

Verwandte Themen