继续这个问题:How to communicate between multiple windows of the same chrome app?并回答,这就是为什么当你开发一个你通过'load unpacked extension'加载的应用并使用chrome.app.window.create()
然后向右打开一个新窗口时 - 在新窗口中单击“检查元素”,您将获得一个新的开发人员工具窗口,而不是已经为chrome应用程序的原始窗口打开的窗口?或者这是一个错误?
我问,因为当我实际使用Dev Tools(带有工作区)作为编写Chrome应用程序的实际IDE时,不得不在不同的开发人员工具窗口之间切换非常耗时(我不使用任何其他外部文本编辑器或IDE)
答案 0 :(得分:1)
这是Chrome中开发工具的限制。建议的内容会非常酷,但需要做一些我们尚未完成的工作。
为了清楚起见,不同的窗口不共享相同的JS“全局上下文”。引号是因为“全局背景”是一个东西,它具有真正的意义。
想象一下,有两个窗口A和B,它们存在于同一个JS世界中。如果可以获得引用,则两个窗口都可以访问Universe中的所有对象。将有两个窗口对象,windowA和windowB。
“全局上下文”指的是在哪个窗口对象中查找未编组的标识符。
在窗口A的“全局上下文”中运行代码时,将在windowA的上下文中查找未编码的标识符。例如。将在windowA.foo上查找“foo”。如果foo实际上在windowB上,则无法找到它。换句话说,如果在窗口A的“全局上下文”中运行代码时创建全局变量,它实际上将放在windowA上。如果然后在窗口B的全局上下文中运行代码,则需要引用windowA才能访问它。
我希望这是有道理的;这有点难以解释。我可能也有一些错误点。