首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iFrame隔离

iFrame隔离
EN

Stack Overflow用户
提问于 2010-04-20 12:11:16
回答 2查看 7.2K关注 0票数 6

这只是一种想法,但是在DIV上使用IFRAME实际上会使该元素与窗口隔离,从而使在IFRAME中运行的缓慢脚本不会影响其他框架/窗口吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-20 14:31:09

是的,对于第一部分,iframe会“排序”将你的窗口与iframe中的脚本隔离开来。但是,仍然可以通过window.parent访问父窗口。

对于第二部分:不,它不会让iframe中的脚本变得太慢,不会影响其他框架/窗口。您的主窗口对象及其子节点都在同一线程中运行。JavaScript是单线程的忽略webworkers在这种情况下,你不能在它们之间传递dom元素,所以你可以访问父窗口/子iframe的窗口对象的唯一原因是因为它们在同一个线程上。

举个简单的例子:

  • 在该页面中创建一个名为main.html
  • 的页面,在iframe旁边有一个iframe src="iframe.html"
  • ,有一个包含您想要的任何文本的按钮,我不在乎。
  • In iframe.html,window.onload = function(){ while(1){} };
  • Access iframe.html.您会注意到,当您将鼠标光标放在按钮上时,它不会响应/重画。这是因为浏览器被冻结了。

来源:

我也尝试过这样的多线程。吃苦耐劳的学习=)

票数 11
EN

Stack Overflow用户

发布于 2015-11-19 12:41:50

在新的浏览器中,可以使用sandbox属性将iframe与页面的其余部分隔离开来

http://www.w3schools.com/tags/att_iframe_sandbox.asp

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2672484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档