使背景选项卡始终处于悬停状态

时间:2014-11-26 12:35:24

标签: firefox firefox-addon firefox-addon-sdk

是否有任何扩展或以任何方式使我们可以使firefox的所有背景标签在悬停状态下始终

像这样: enter image description here

我是附加组件开发的新手,我查看了标签api:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs,但没有发现任何与阅读或操纵悬停事件有关的内容。

1 个答案:

答案 0 :(得分:2)

Inspector显示当标签悬停时,它会获得以下样式:chrome://browser/skin/browser.css line 2504

将这个粘贴到便笺簿上就可以了。

Cu.import('resource://gre/modules/Services.jsm');
var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);

var css = '';
css += '.tab-background:not([selected=true]) {';
css += 'background-image: url(chrome://browser/skin/tabbrowser/tab-background-start.png),';
css += 'url(chrome://browser/skin/tabbrowser/tab-background-middle.png),';
css += 'url(chrome://browser/skin/tabbrowser/tab-background-end.png);';
css += 'background-position: left bottom, 30px bottom, right bottom;';
css += 'background-repeat: no-repeat;';
css += 'background-size: 30px 100%, calc(100% - (2 * 30px)) 100%, 30px 100%;';
css += '}';
var cssEncoded = encodeURIComponent(css);
var cssEncodedWithDataURL = 'data:text/css,' + cssEncoded;

var cssUri = Services.io.newURI(cssEncodedWithDataURL, null, null);

sss.loadAndRegisterSheet(cssUri, sss.USER_SHEET);

//sss.unregisterSheet(cssUri, sss.USER_SHEET); //do this when you want to remove it