'u kullanarak araç çubuklarını nasıl ekleyebilirim/değiştirebilirim Eklenti SDK'sının belgelerine şimdi birkaç kez baktım ve hayır araç çubuklarını nasıl oluşturabilirim veya değiştirebilirim mevcut olanlar. Eklenti çubuğu simgeleri oluşturma konusunda bir öğretici var ama istediğim değil. Eklenti SDK'sı bunu destekliyor mu? Eğer varsa, birisi bana bir örnek/öğreticiye bağlantı verebilir.Firefox: Eklenti SDK'sı (Jetpack)
cevap
Bu benim için çalışıyor:
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);
}
Teşekkürler, bu mükemmel çalıştı! – Telanor
Daha uzun bir açıklama ve araç çubuğu düğmesini kaldırmak için bir işlev için, bkz. [Blog gönderim] (http://kendsnyder.com/posts/firefox-extensions-add-button-to-nav-bar) – kendsnyder
Sadece fark ettim, Bu işlev sadece aktif pencere için eklenecektir. Yeni pencereleri açarken düğme orada olmayacak. – dcolish
ilk yanıt üzerindeki bu bir bezeme. Eğer üst yanıt verdiği yorumunda dcolish tarafından açıklanan zorluklar varsa
main.js bu ekleyin:
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();
}
Bu ham ama çalışır.
DÜZENLEME: çok daha kolay ve daha temizdir: Bir pencereyi kapatırken Mac'im Firefox 15 günü
var windows = require("windows").browserWindows;
windows.on('open', function(window) {
addToolbarButton();
});
otomatik Simge kaldırır. Yani window.on('close', ...)
gerekli değildir.
Araç çubuğu veya araç çubuğu düğmesi ister misiniz? – erikvold
Yapmak istediğim, mevcut bir araç çubuğuna bir düğme eklemek, ancak Görünüm -> Araç Çubukları -> Özelleştir'e giderken yaptığınız gibi değil, bu araç çubuğunda istediğiniz şekilde konumlandırmama izin vermemek (Googlebar) Lite). Evet, bir düğme istiyorum, ancak bu menüden standart bir araç çubuğu öğesi yeterince iyi olmayacak. – Telanor