只是一個想法,但會使用IFRAME
而不是DIV
本質上使該元素與窗口隔離,以減緩在IFRAME
中運行的腳本不會影響其他框架/窗口的方式?iFrame隔離
Q
iFrame隔離
2
A
回答
7
是的,對於第一部分,iframe將「排序」將窗口與iframe中的腳本隔離。但是,父窗口仍然可以通過window.parent
訪問。
對於第二部分:不,它不會使iframe中的腳本太慢,不會影響其他框架/窗口。您的主窗口對象及其子節點都運行在同一個線程中。 JavaScript是單線程的[在這種情況下忽略webworkers,無論如何你都不能傳遞dom元素],所以你可以訪問父窗口/子iframe的窗口對象的唯一原因是因爲它們在同一個線程中。
爲了提供一個簡單的例子:
- 創建一個名爲main.html中
- 在該網頁頁面,有一個IFRAME
src="iframe.html"
- 旁邊的iframe,有你想要的任何文本的按鈕,我不在乎。
- In iframe.html,
window.onload = function(){ while(1){} };
- 訪問iframe.html。您會注意到,當您將鼠標光標放在按鈕上時,它不會響應/重繪。這是因爲瀏覽器被凍結。
來源:
我也嘗試過這樣的多線程。深知這一點=)
1
在新的瀏覽器可以使用沙箱屬性的iframe從頁面的其餘部分
相關問題
- 1. 安全隔離的iFrame?另類?
- 2. 完全隔離來自同一個域的iframe中的javascript
- 3. AppDomain隔離
- 4. Postgres SCHEMA隔離
- 5. 隔離存儲
- 6. 隔離存儲
- 7. C#TPL - 隔離?
- 8. 隔離預期
- 9. 隔離森林
- 10. 隔離行
- 11. 隔離範圍
- 12. MySQL事務隔離
- 13. Java的隔離繩
- 14. 隔離林實施
- 15. FTP用戶隔離
- 16. PHP:數組隔離
- 17. 隔離CSS代碼
- 18. 隔離CSS範圍
- 19. java.sql.Connection隔離級別
- 20. 如何隔離Div
- 21. 從隔離儲存
- 22. javascript隔離字符
- 23. P2P隔離防護
- 24. mysql隔離級別
- 25. Wcf隔離實例
- 26. TSQL快照隔離
- 27. 「控制器爲」與隔離範圍內的指令不隔離
- 28. Qt C++隔離鍵盤
- 29. SET事務隔離級別
- 30. 單元測試 - 隔離
哈哈偉大的回答,非常感謝隔離。我讓我走向死路一條。 – Louis 2010-04-20 06:42:58
正確答案,儘管一個小小的評論; 「但是,父窗口仍然可以通過window.parent訪問」僅當父級和子級(iframe)在同一個域上時纔是正確的。如果它們不是,那麼由於「相同來源策略」,您確實可以將iframe視爲沙箱環境。 – futtta 2010-04-20 11:46:17