只是一個想法,但會使用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. 隔離存儲
- 4. 隔離行
- 5. 隔離森林
- 6. AppDomain隔離
- 7. 隔離範圍
- 8. Postgres SCHEMA隔離
- 9. 隔離與jQuery
- 10. 隔離存儲
- 11. C#TPL - 隔離?
- 12. 隔離預期
- 13. Javascript間隔和iframe
- 14. Wcf隔離實例
- 15. Java的隔離繩
- 16. P2P隔離防護
- 17. mongoDB光標隔離
- 18. 如何隔離Div
- 19. java.sql.Connection隔離級別
- 20. mysql隔離級別
- 21. 隔離CSS代碼
- 22. Rxjava - 邏輯隔離
- 23. Express.js請求隔離
- 24. 從隔離儲存
- 25. AppDomain隔離問題
- 26. 隔離XML標記
- 27. 隔離SignalR請求
- 28. javascript隔離字符
- 29. FTP用戶隔離
- 30. PHP:數組隔離
哈哈偉大的回答,非常感謝隔離。我讓我走向死路一條。 – Louis 2010-04-20 06:42:58
正確答案,儘管一個小小的評論; 「但是,父窗口仍然可以通過window.parent訪問」僅當父級和子級(iframe)在同一個域上時纔是正確的。如果它們不是,那麼由於「相同來源策略」,您確實可以將iframe視爲沙箱環境。 – futtta 2010-04-20 11:46:17