Kann nicht schreiben, dynamischen iframe mit jQuery
Mein Ziel ist es, dynamisch erstellen iframe, und schreiben ad JavaScript mithilfe von jQuery (z.B. Google-AdSense-Skript). Mein code funktioniert in Chrome, aber nicht zeitweise in Firefox, d.h. manchmal ist die ad-Skript wird ausgeführt, und die Anzeige rendert, und zu anderen Zeiten nicht. Wenn es nicht funktioniert, wird der script-code selbst zeigt sich im iframe.
Meine denke ist diese intermittierenden Fehler auftreten, weil der iframe ist nicht bereit, durch die Zeit, die ich es schreiben. Ich habe versucht, verschiedene Iterationen der iframe_html (mein name für die Funktion, die soll warten, bis der iframe fertig zu sein), aber kein Glück. Jede Hilfe zu schätzen!
PS: ich habe gelesen, verschiedene threads (z.B. jQuery .bereit ist eine dynamisch eingefügte iframe). Nur lassen Sie alle wissen, dass ich habe meine Forschung getan, aber ich bin hängen geblieben 🙂
Iteration 1:
function iframe_html(html){
$('<iframe name ="myiframe" id="myiframe"/>').appendTo('#maindiv');
$('#myiframe').load(
function(){
$('#myiframe').ready( function(){
var d = $("#myiframe")[0].contentWindow.document;
d.open();
d.close();
d.write(html);
});
}
);
};
Iteration 2:
function iframe_html(html){
$('<iframe id="myiframe"/>').appendTo('#maindiv').ready(
function(){
$("#myiframe").contents().get(0).write(html);
}
);
};
- versuchen Sie src auf den iframe zu about:blank?
- hast du jemals dieses Problem lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ehrlich, ist der einfachste und zuverlässigste Weg, die ich gefunden habe, beim Umgang mit der load-Ereignissen auf iframes verwendet die "onload" - Attribut in das eigentliche iframe-tag. Ich hatte noch nie viel von einem problem mit der Einstellung der Inhalte, nachdem das "onload" - Ereignis ausgelöst. Hier ist ein Beispiel:
Das problem mit diesem ist, dass Sie verwenden müssen, Attribut-tags und Globale Deklarationen. Wenn Sie absolut NICHT haben KANN, eines dieser Dinge, ich hatte noch keine Probleme mit dieser (obwohl es sieht nicht sehr viel anders als Ihre versuche, so bin ich nicht sicher):
Dies ist eine der am meisten frustrierenden Teile des DOM-und JavaScript - mein Beileid sind bei Euch. Wenn keine dieser Arbeit, dann öffnen Sie Firebug und mir sagen, was die Fehlermeldung ist.
$(doc.body).html("hi!")
?false.html:
JS:
dann sehen Sie sich bitte die link