2016-06-08 21 views
0

Ich versuche, den Inhalt eines Iframe aus dem Iframe zu ändern.Ändern iframe von innen

Perl/Backend:

my $doc = `curl -k 'http://localhost/givemehtml`; 
$doc =~ s|</script|</scr/ipt|g; 
$form .= qq|<script>document.location='data:text/html;charset:utf-8,' + '$doc'; </script>|; 

$form alle HTML in der iframe ist, die Standardinhalte hat (eingeführt in $form früher), die ich mit dem Skript ändern möchten.

Mit meinem Code oben ändert der Iframe Inhalt nicht. Wie behebe ich das?

+0

Warum ändern Sie 'document.location'? Wenn Sie die Dokumente * Inhalt * ändern möchten, verwenden Sie das DOM oder 'document.write()' ... – m02ph3u5

+0

@ m02ph3u5 Was meinst du mit "das DOM verwenden"? Könnten Sie zeigen, wie Sie das tun würden? – kepj

+0

Was möchten Sie ändern? –

Antwort

1

des Outside Seite Lassen Sie aufrufen, die den iframe-Tag lädt, und der Innen die cotent whitin der iframe nennen lassen.

Außen kann steuern Innen
Innen nicht Außerhalb aus Sicherheitsgründen

Damit Innen mit Außerhalb zu sprechen steuern kann es serverseitige sein muss. Inside spricht mit dem Server über AJAX (unter anderem Methoden) und Außerhalb kann diese Informationen abrufen.

Wenn Sie Innen seine Lage zu ändern (http://localhost/givemehtml) können Sie verwenden:

window.location.href = 'http://localhost/anotherhtml' 
Verwandte Themen