如何将HTML / JS插入由chrome.windows.create创建的窗口(“panel”类型)中?

时间:2013-05-23 20:29:34

标签: javascript html dom google-chrome-extension window-object

我正在使用chrome.windows.create在Chrome扩展程序中创建一个窗口。它的类型为panel,因此它不是常规的浏览器窗口或标签,而是一个独立于其他窗口的独立窗口。创建它之后,我现在需要在其中插入一些HTML和JavaScript。那怎么办?有一个从create返回的Window对象,但它没有有用的钩子 - 只有几个属性。文档中没有任何内容暗示如何做到这一点,我也没有看到任何地方的DOM树。

有什么想法吗?

非常感谢!

2 个答案:

答案 0 :(得分:3)

经过更多阅读和实验后,我发现了答案:创建窗口时,需要创建一个选项卡并将其附加到窗口。因此,您的create createData对象将包含一个URL属性,该属性仅指向HTML页面(使用CSS,JS,无论您想要什么),(默认情况下)位于扩展的根文件夹中(因此,如果您需要HTML文件保存在其他地方,只需在文件名前加上一个路径)。现在,当创建窗口时,它创建了一个选项卡(从UI透视图甚至不显示为选项卡 - 这很好),该选项卡包含您想要的内容。

答案 1 :(得分:0)

尝试这个我自己没有测试过,但可能会给你一些想法......

(函数(){     chrome.windows.create({         类型:'面板',         网址:“https://www.google.co.in/”     },function(newWindow){         的console.log(newWindow);         chrome.tabs.executeScript(newWindow.tabs [0] .id,{             代码:'document.write(“hello world”);'         });     }); })()

并且在此Chromium Projects link about panels中也可以提到,您可以像其他窗口类型一样操作窗格。