为什么每个 Chrome 应用程序窗口都会打开一个新的开发者工具窗口?

2024-03-08

从这个问题继续:如何在同一 Chrome 应用程序的多个窗口之间进行通信? https://stackoverflow.com/questions/20765870/how-to-communicate-between-multiple-windows-of-the-same-chrome-app并回答,这就是为什么当您开发通过“加载解压扩展”加载的应用程序并使用打开一个新窗口时chrome.app.window.create()然后右键单击新窗口“检查元素”,您会得到一个new开发人员工具窗口而不是已经为 Chrome 应用程序的原始窗口打开的窗口?或者这是一个错误?

我问这个问题是因为当我实际使用开发工具(带有工作区)作为编写 Chrome 应用程序的实际 IDE 时,在不同的开发人员工具窗口之间切换非常耗时(我是not使用任何其他外部文本编辑器或 IDE)


这是 Chrome 开发工具的限制。所建议的内容非常酷,但需要一些我们尚未完成的工作。

需要明确的是,不同的窗口不共享相同的 JS“全局上下文”。之所以有引号,是因为“全球背景”是一个东西,它具有真正的含义。

想象一下有两个窗口 A 和 B,它们生活在同一个 JS 世界中。如果可以获得引用,两个窗口都可以访问宇宙中的所有对象。将有两个窗口对象,windowA 和 windowB。

“全局上下文”是指在哪个窗口对象中查找无作用域标识符。

当在窗口 A 的“全局上下文”中运行代码时,将在窗口 A 的上下文中查找无作用域标识符。例如。将在 windowA.foo 上查找“foo”。如果 foo 实际上位于 windowB 上,则不会找到它。换句话说,如果您在窗口 A 的“全局上下文”中运行代码时创建了一个全局变量,那么它实际上会被放在 windowA 上。如果您随后在窗口 B 的全局上下文中运行代码,则需要拥有对窗口 A 的引用才能访问它。

我希望这是有道理的;这有点难以解释。我可能也有一些错误的细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么每个 Chrome 应用程序窗口都会打开一个新的开发者工具窗口? 的相关文章

随机推荐