Abrufen von Daten aus iframe
Ich mache das erste mal. Erstellt habe ich eine iframe
auf meiner Seite und ich möchte den text aus der iframe
durch jquery
.
Hier ist mein code :
<html>
<head><script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function copyIframeContent(iframe){
var iframeContent = $(iframe).contents(); //alert(iframeContent);
//$("#result").text("Hello World");
$("#result").html(iframeContent.find('body').html);alert(iframeContent.find('body').html());
}
</script>
</head>
<body>
<iframe id="myIframe" onload="copyIframeContent(this);" name="myIframe" src="text.php"></iframe><br />
Result:<br />
<textarea id='result'></textarea>
<input type="button" value="click" id="btn" onclick="aa()">
<script type="text/javascript">
function aa(){ alert("Fdf");
alert(document.getElementById('myIframe').contentWindow.document.body.innerHTML);
}
</script>
</body>
</html>
text.php:
text to change
Habe ich versucht, eine Menge, die in allen Browsern, aber noch ist dies nicht funktioniert.
Kann jemand mir helfen, diese Inhalte?
- ja, es ist eine derselben Seite und im selben Verzeichnis
- "aber es funktioniert immer noch nicht" Im gerade Fragen, was das bedeutet? Bitte erläutern Sie uns durch die Fehlermeldung angezeigt, wenn eine
- ich habe copy/paste hier mein wholde-code, aber immer noch seine jetzt funktioniert dontknow warum. in der alert zeigt er mir [ObectObject]
- Nicht verwenden, Alarm -, Einsatz-Konsole.log() und check-Objekt
- er zeigt mir diese Fehlermeldung " Permission denied to access property 'Dokument'" in der Konsole
- Haben Sie versucht, mit absoluten Pfad zum src iframe?
- ja, aber dasselbe passiert. keine änderung im Ergebnis
- Beachten Sie, wenn Ihre root-Pfad ist "h-t-t-p://www.mysite.com/index.php' der absolute Pfad für test.php muss 'h-t-t-p://www.mysite.com/test.php' und nicht 'h-t-t-p://mysite.com/test.php" Das Gegenteil ist auch wahr {ich habe zu entkommen, http damit nicht machen, es als link}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden .Inhaltsverzeichnis() man iFrames DOM.
UPDATE:
In der OP:
Sollte sagen:
$('#myIframe').contents().find('body').html()
auch? .Inhaltsverzeichnis() allein zurück jQuery.console.log
stattalert
? Dann werden Sie in der Lage, tatsächlich sehen, in das Objekt zurück und sehen, was was ist. Btw. keine Sicherheit-Fehler in der Konsole?Dem contentWindow funktioniert in FF und chrome
Geben würde, Sie ein DOM-element Körper
Können Sie auch versuchen, so etwas wie
Könnte den trick tun für Sie auch
Haben Sie vielleicht Probleme mit Ihrem Browser eingebaute Sicherheit. Wenn Sie diese auf einem lokalen Rechner. Gibt es eine Möglichkeit zum deaktivieren der Browser-Sicherheit.
Tun mit jquery ein wenig einfacher:
Obigen Beispiel erhalten alles aus myIframe. Aber der iframe sein MUSS, aus der gleichen Domäne wie die übergeordnete Dokument. Wenn nicht von der gleichen domain, eine Sicherheits-Verletzung Auftritt (Sie können nicht hinzufügen von Inhalten von fremden Seiten auf Ihre Seite und ändern die Inhalte.)
Wenn keine Sicherheitsverletzung, kann man alles machen mit der Auswahl. Zum Beispiel können Sie verwenden die jquery append () - Methode fügen Sie neue html innerhalb des iFrames können Sie mit der html () - Methode ersetzen, html oder jede andere Funktion, die jquery/pure javascript ermöglicht.