【发布时间】:2014-09-02 19:45:01
【问题描述】:
我有一个想移植到 Firefox 的 chrome 插件。这个插件有一个复杂的用户界面,它占据了整个页面,它的目的是长时间打开和使用,以及在浏览器中打开的其他页面。在 chrome 中,我只打开“.html”插件接口文件,它可以访问所有插件 api:与插件脚本等通信。但是如果我在 firefox 插件中打开“.html”文件:
var root = data.url('icon.png').split('/').slice(0, -2).join('/');
widget.Widget({
id: 'my-addon',
label: 'my addon',
contentURL: data.url('icon.png'),
onClick: function() {
tabs.open([root, 'lib', 'control.html'].join('/'));
}
});
页面内的javascript代码似乎无法访问this.port对象进行通信。创建全页插件界面的正确方法是什么?我是否需要通过contentScriptFile 单独注入javascript代码(非常糟糕,因为这在chrome中完全不可能,我将无法对两个插件使用相同的代码)或使用某种特殊类型的Panel 所以它会全屏?
【问题讨论】:
-
我还在寻找一种方法来加载我的 html 页面,该页面具有完整的 chrome 访问权限。我不知道该怎么做。我现在做事的方式有点糟糕。我听页面加载,如果它是我的 html 页面而不是我
addEventListener的全部内容。我不喜欢这种方法。 -
@Noitidart 如果您愿意,可以发布一个非插件 SDK 问题。我不会在这里回答我的问题,因为 XUL/restartless 附加组件中的工作方式完全不同。
标签: javascript firefox-addon firefox-addon-sdk