我试图动态地创建一个iFrame并从当前文档添加HTML到它。 iFrame被成功创建,但是当功能到达需要添加HTML的地步时,它不会这样做。动态添加HTML到iFrame - Javascript
这里是我的代码:
function createiFrame(min, max, key) {
console.log("Max-Width", max);
//CREATING A CLASS FOR THE IFRAME
var iframeClass = key + "-" + max;
//var path = window.location.pathname;
//var page = path.split("/").pop();
//ADDING AN IFRAME INTO THE DOCUMENT AND ADDING ON THE CLASS
$(document).ready(function() {
$('', {
width: max
}).addClass(iframeClass).prependTo('body');
});
var requiredHTML = document.getElementById('container').innerHTML;
console.log("RequiredHTML", requiredHTML);
//ADDING THE COLLECTED HTML INTO THE IFRAME -- THIS IS WHERE
//IT STOPS WORKING
$('.' + iframeClass).ready(function() {
console.log("iFrame ready");
$('.' + iframeClass).contents().find('body').html("
Testing it out
");});
var $head = document.getElementsByTagName('head')[0].innerHTML;
$(document).ready(function() {
$('.' + iframeClass).contents().find('head').append($head);
});
}
编辑
我已经意识到这个问题发生,因为当我试图运行代码时,DOM还没有准备好。
如此新的问题;
如何准备好DOM?
2015-06-10
Rafill
+0
这是在这里回答:http://stackoverflow.com/questions/19374524/use-jquery-to-insert-html-into-an-iframe-body-tag –
+0
@ChristopherKarlsson感谢您的链接,但这个问题正在讨论嵌套的iFrames,答案给出了我在我的代码中的同一行jQuery,但它不起作用 –
+0
这有帮助吗? http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe –