gpt4 book ai didi

javascript - iFrame 隔离

转载 作者:行者123 更新时间:2023-12-01 17:16:47 40 4
gpt4 key购买 nike

只是一个想法,但在 DIV 上使用 IFRAME 本质上会使该元素与窗口隔离,从而降低 IFRAME 中运行的脚本速度 不会影响其他框架/窗口吗?

最佳答案

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

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

提供一个简单的示例:

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

来源:
我也尝试过像这样的多线程。经历了惨痛的教训 =)

关于javascript - iFrame 隔离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672484/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com