我有以下內容:「IFRAME加載」如何在iframe中運行動態加載的js文件?
$(document).ready(function() {
var myIframe = document.getElementById('myIframe');
var element = myIframe.contentDocument.createElement('script');
element.setAttribute('src', '/javascripts/library/jquery/jquery.min.js');
myIframe.contentWindow.document.getElementsByTagName('head')[0].appendChild(element);
$('#myIframe', top.document).load(function() {
alert('iframe has loaded');
var element = document.getElementById('myIframe').contentDocument.createElement('script');
element.setAttribute('src', '/javascripts/stuff.js');
myIframe.contentWindow.document.getElementsByTagName('body')[0].appendChild(element);
});
});
我得到的警報
stuff.js包含
$('body').css('backgroundColor', 'yellow');
所以,我希望,當iframe中加載了iframe的背景顏色將變爲黃色......但沒有任何反應。我甚至嘗試在$(document).ready塊中環繞stuff.js中的東西,但結果相同。
如果我選擇所有並查看iframe的源代碼,我發現jquery.min.js和stuff.js位於iframe中。如果將此源輸出放入單獨的html文件並運行該文件,則文檔的背景顏色會按預期更改。
一旦iframe加載,我怎樣才能讓我的javascript在stuff.js中運行在iframe中?
您是否收到任何腳本錯誤?您是否在stuff.js中嘗試了'alert'?你檢查過Firebug嗎? – SLaks 2010-03-07 03:46:02
沒有腳本錯誤,也沒有提示。我從商店回來後會和Firebug一起窺探。 – 2010-03-07 03:49:01
用Firebug看它時我沒有看到任何奇怪的東西。 – 2010-03-07 04:33:41