【问题标题】:Multiple Javascript Interpreters in a single browser tab单个浏览器选项卡中的多个 Javascript 解释器
【发布时间】:2011-06-18 23:32:48
【问题描述】:

是否可以在浏览器窗口的单个选项卡中运行多个 javascript 解释器(引擎)?怎么样?

我查看了 iframe,但无法调用 javascript 解释器的单独实例。

【问题讨论】:

  • 为什么需要这样做? IFrame 通常相当混乱。您的问题可能有更好的解决方案

标签: javascript html browser


【解决方案1】:

您可能想查看Web Workers。这些分区执行 Javascript,但有非常明确的交互方式。

【讨论】:

  • 哇,你每天都学到新东西...我很高兴我偶然发现了这个 +1
【解决方案2】:

每个不同的页面都有自己的全局环境。相关页面以各种方式链接(window.parent、框架元素等)。如果父页面包含一个二级页面作为<iframe> 标记的内容(或者在旧式框架集设置中,我已经十多年没有这样做了:-),那么框架中的页面都有自己的不同的window 对象,以及它们自己的框架、工具等副本。

当您执行document.getElementById("whatever") 之类的操作时,它仅限于调用它的全局上下文。同样,每个框架都有自己的 JavaScript 环境,以及各种 JavaScript“本机”构造函数的独特副本。也就是说,一帧中的“数组”与另一帧中的“数组”是不同的对象。

@Jarrod N 提到的网络工作者可能也让你很感兴趣。

【讨论】:

    【解决方案3】:

    正如 Pointy 所说,每个不同的页面都有自己的全局环境。所以 iframe 也有自己的 Javascript 环境。

    我对 iframe 的测试失败了,因为我没有等待 iframe 中的 Javascript/网页完全加载,然后才从主页调用它。

    附言WebWorkers 有点复杂,对我的项目想要的支持较少。不过,它看起来是未来项目的一个很好的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2012-03-14
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多