因此,我已经多次查看了附加SDK的文档,并且没有在哪里可以看到如何创建工具栏或修改现有的。他们有一个关于创建附加栏图标的教程,但那不是我想要的。附加SDK是否支持这个呢?如果是这样,有人可以将我链接到示例/教程。Firefox:如何使用附加SDK(Jetpack)添加/修改工具栏
回答
这个工作对我来说:
var data = require("self").data;
var {Cc, Ci} = require("chrome");
var mediator = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator);
exports.main = function(options, callbacks) {
addToolbarButton();
// other stuff
};
function addToolbarButton() {
var document = mediator.getMostRecentWindow("navigator:browser").document;
var navBar = document.getElementById("nav-bar");
if (!navBar) {
return;
}
var btn = document.createElement("toolbarbutton");
btn.setAttribute('type', 'button');
btn.setAttribute('class', 'toolbarbutton-1');
btn.setAttribute('image', data.url('img/icon16.png')); // path is relative to data folder
btn.setAttribute('orient', 'horizontal');
btn.setAttribute('label', 'My App');
btn.addEventListener('click', function() {
// use tabs.activeTab.attach() to execute scripts in the context of the browser tab
console.log('clicked');
}, false)
navBar.appendChild(btn);
}
谢谢,完美的工作! – Telanor 2011-11-01 05:13:04
有关更长的解释和删除工具栏按钮的功能,请参见[我的博客文章] – kendsnyder 2011-11-02 19:03:44
我刚刚注意到,这个功能只会为活动窗口添加。当打开新窗口时,按钮不会在那里。 – dcolish 2012-02-12 03:15:47
这第一个答案的点缀。
如果你必须在dcolish他的评论描述顶端响应的困难将它添加到main.js:
var tim = require("timers");
intervalId = tim.setInterval(timerFn,2000);
function timerFn() {
var win = mediator.getMostRecentWindow('navigator:browser');
if (win)
var document = win.document;
else
return;
var isBtn = document.getElementById('myappbutton-id');
if (!isBtn) addToolbarButton();
}
它的原油,但工程。
编辑: 更容易和更清洁是:
var windows = require("windows").browserWindows;
windows.on('open', function(window) {
addToolbarButton();
});
我的Mac上的Firefox 15关闭窗口时自动删除的图标。所以window.on('close', ...)
是不需要的。
- 1. 使用附加SDK来添加工具栏按钮?为Firefox附加组件集成XUL和附加SDK?
- 2. 如何更改Firefox附加SDK(Jetpack)中文本框的值?
- 3. 如何访问Firefox的附加SDK(Jetpack)中的places.bookmarks
- 4. 如何添加工具栏
- 5. 如何添加/修改UIVideoEditorController工具栏上的按钮?
- 6. 控制Firefox附加sdk边栏宽度
- 7. Firefox Addon SDK:如何添加导航工具栏按钮和下拉菜单
- 8. 如何将工具栏图标添加到火狐Firefox插件SDK
- 9. 使用Firefox附加SDK构建网页
- 10. 如何使用addon-SDK将图标添加到我的Firefox附加组件?
- 11. Firefox SDK附加组件 - 如何开始
- 12. 如何在工具栏下添加工具栏 - android
- 13. Firefox附加SDK和js-ctypes
- 14. Firefox附加SDK和跨域
- 15. Firefox的附加SDK:上下文菜单没有工具提示?
- 16. 如何添加工具栏固定snap.js
- 17. xcode - 如何添加工具栏到UITableViewController
- 18. jqGrid:如何添加水平工具栏
- 19. 如何开发IE8工具栏添加
- 20. 如何将CheckBox添加到工具栏?
- 21. 如何将textField添加到工具栏
- 22. 如何在efxclipse e4中添加双窗口修剪(工具栏)?
- 23. 在某些URL上显示Firefox附加工具栏
- 24. 使用附加组件生成器(JetPack)的Firefox附件的选项页面
- 25. 添加工具栏到INAppStoreWindow
- 26. 自动添加工具栏
- 27. ExtJS MVC添加工具栏
- 28. 添加工具栏JSQMessagesViewController
- 29. 如何将Firefox工具栏按钮放在地址栏附近
- 30. 如何使用Firefox附加SDK获取选定的文本?
你想要一个工具栏或工具栏按钮吗? – erikvold 2011-04-07 17:19:48
我想要做的是将一个按钮添加到现有的工具栏,但不是以同样的方式,你会去查看 - >工具栏 - >自定义,因为它不会让我把它放在这个工具栏中我想要的方式(Googlebar精简版)。所以是的,我想要一个按钮,但是该菜单中的标准工具栏项目不够好。 – Telanor 2011-04-07 18:09:02