簡體   English   中英

使用jQuery在div中加載需要javascript的頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM