2011-02-01 153 views
3

是否可以在瀏覽器窗口的單個選項卡中運行多個JavaScript解釋器(引擎)?怎麼樣?單個瀏覽器選項卡中的多個Javascript解釋器

我看了一下iframe,但還沒有能夠調用JavaScript解釋器的單獨實例。

+0

爲什麼你需要這樣做? IFrame通常相當混亂。有可能是你的問題更好的解決方案 – Raynos 2011-02-01 02:45:40

回答

2

每個不同的頁面都有其自己的全局環境。相關頁面以各種方式鏈接(window.parent,框架元素等)。如果父頁面包含作爲標記內容的輔助頁面(或者在舊式框架集設置中,我過去十年沒有做的很好:-),那麼每個框架中的頁面都有自己的截然不同的window對象以及它們自己的框架,工具等副本。

當您執行諸如document.getElementById("whatever")之類的操作時,僅限於調用它的全局上下文。同樣,每個框架都有其自己的JavaScript環境,並具有各種JavaScript「本地」構造函數的獨特副本。也就是說,一幀中的「數組」與另一幀中的「數組」是不同的對象。

@Jarrod N提到網絡工作者也許對你很感興趣。

4

你可能想看看Web Workers。這些分區執行Javascript,但具有非常明確的交互方式。

+2

哇,你每天都會學到新的東西......我很高興我偶然發現了這個+1 – tobyodavies 2011-02-01 01:25:52

0

正如Pointy所說,每個不同的頁面都有自己的全球環境。所以iframe也有它自己的Javascript環境。

我的iframe測試失敗了,因爲我沒有等待iframe中的Javascript /網頁完全加載,然後從主頁面調用它。

p.s. WebWorkers稍微複雜一些,對我的項目所需的支持也較少。它看起來是未來項目的一個很好的解決方案。

相關問題