
Deck John
Ich mache das zum ersten Mal. Ich habe eine erstellt iframe
auf meiner Seite und ich möchte den Text von 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
Ich habe viel in allen Browsern versucht, aber das funktioniert immer noch nicht. Kann mir jemand helfen, diesen Inhalt zu bekommen?
Verwenden .Inhalt() um zum DOM von iFrame zu gelangen.
$('#myIframe').contents()
AKTUALISIEREN:
Im OP:
$("#result").html(iframeContent.find('body').html);
Sollte sagen:
$("#result").html(iframeContent.find('body').html());

John b
Das contentWindow funktioniert sowohl in FF als auch in Chrome
document.getElementById('myFrame').contentWindow.document.body
Würde Ihnen einen DOM-Elementkörper geben
Sie können auch etwas wie versuchen
window.frames['myIframe'].document.body
Das könnte auch für Sie der Trick sein
Möglicherweise haben Sie Probleme mit der integrierten Sicherheit Ihres Browsers. Wenn Sie dies auf einem lokalen Computer ausführen. Es gibt eine Möglichkeit, die Browsersicherheit zu deaktivieren.

Sudhakar Singajogi
var content=$("iframe").contents().find('body').html();
alert(content);

Higarisch
Mit jquery wird es etwas einfacher:
$('Your Selector', frames['myIframe'].document)
Das obige Beispiel bekommt nichts ab meinIframe. Aber der Iframe MUSS von derselben Domäne sein wie das übergeordnete Dokument. Wenn Sie nicht von derselben Domäne stammen, tritt eine Sicherheitsverletzung auf (Sie können Ihrer Seite keine Inhalte von fremden Websites hinzufügen und diese Inhalte ändern).
Wenn keine Sicherheitsverletzung vorliegt, können Sie mit der Auswahl nichts anfangen. Beispielsweise können Sie die Methode jquery append() verwenden, um neues HTML in den iFrame einzufügen, Sie können die Methode html() verwenden, um HTML oder jede andere Funktion zu ersetzen, die jquery/pure Javascript zulässt.
10162400cookie-checkDaten aus iframe abrufenyes
Ja, es ist dieselbe Seite und im selben Verzeichnis
– Deck John
16. Mai 2013 um 13:54 Uhr
“funktioniert aber immer noch nicht” Ich frage mich nur, was das bedeutet? Bitte erläutern Sie uns, indem Sie uns eine Fehlermeldung geben, falls vorhanden
– A. Wolff
16. Mai 2013 um 13:54 Uhr
Ich habe hier meinen gesamten Code kopiert / eingefügt, aber es funktioniert jetzt immer noch, weiß nicht warum. in Alarmbereitschaft zeigt es mir [ObectObject]
– Deck John
16. Mai 2013 um 13:55 Uhr
Verwenden Sie keine Warnung, verwenden Sie console.log() und prüfen Sie das Objekt
– A. Wolff
16. Mai 2013 um 13:56 Uhr
Es zeigt mir diesen Fehler “Berechtigung zum Zugriff auf die Eigenschaft “Dokument” verweigert” in der Konsole
– Deck John
16. Mai 2013 um 13:58 Uhr