[英]Using jQuery to load a page that require javascript in a div
我創建了一個簡單的函數來將浮動可調整大小的內容附加到頁面:
function CreateFloatingWindow(id) {
var win = document.createElement('div');
$(win).attr('id', id);
$(win).height(100).width(300).css('background-color', 'red');
$(win).resizable().draggable();
$(win).appendTo($('body'));
$(win).load('http://www.fantasy-mmorpg.com/fowiki/#1419~2');
}
CreateFloatingWindow('first');
該代碼工作的很好,除了當加載的頁面有某種JavaScript的內部,在這種情況下,結果是“請允許執行Javascript”消息像這樣
我認為該消息是由目標頁面本身處理的,但是我無法訪問其源代碼。
有沒有一種方法可以使目標頁面理解我啟用了我的JavaScript,即使它是通過jQuery加載到div中的呢?
注意,以上代碼需要jQuery和jQuery-UI才能正常運行。
我一直在仔細研究並注意以下幾點:
首先, jQuery .load()文檔中的此子句可能會引起一些啟發 :
腳本執行
使用不帶后綴選擇器表達式的URL調用
.load()
,將在刪除腳本之前將內容傳遞給.html()
。 這將在腳本塊被丟棄之前執行它們。 但是,如果使用附加到URL的選擇器表達式調用.load()
,則腳本將在DOM更新之前被刪除, 因此不會執行 。 兩種情況的示例如下所示:在這里,任何作為文檔一部分加載到#a中的JavaScript都將成功執行。
1
$('#a').load('article.html');
但是,在以下情況下,將文檔中正在加載到#b中的腳本塊刪除並且不執行:
1
$('#b').load('article.html #target');
針對不同的瀏覽器檢查消息“請激活JavaScript”,我不確定這是腳本級別還是瀏覽器級別。 但是我非常確定“ Please Enabled JavaScript ”可能是HTML回退<noscript>
-如果它根本不執行任何JavaScript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.