- Firefox-Version
- 101.0a1 Nightly
- Betriebssystem
- WIN11
Das folgende Script für eine vertikale Toolbar hat seit einem der Nightly-Updates am Wochenende eine Macke.
Die zusätzliche Toolbar wird zwar erzeugt (und die darin abgelegten Buttons funktionieren auch), sie läßt sich aber mit dem ebenfalls durch das Script erzeugten Toolbar-Button nicht ein- oder ausblenden.
In Firefox 99 funktioniert das Script einwandfrei.
Hat einer der Script-Kundigen eine Idee, oder kann hier wieder nur aborix helfen?
JavaScript
(function() {
/*******************************************************************************/
if (location != 'chrome://browser/content/browser.xhtml') {
return;
}
/*******************************************************************************/
// Background Color
var vb_bg_color = 'rgb(40,40,42)';
// Border Color
var vb_border_color = 'rgb(0,128,0)';
// Number of columns
var vb_cols = 1;
// Visibility on Start
var vb_visibilityOnStart = 1;
// Button Icon, if Toolbar is visible
vb_isVisibleImage = 'url("file:///F:/FIREFOX-ICONS/Icons/pin-grün.png")';
// Button Icon, if Toolbar is hidden
vb_isHiddenImage = 'url("file:///F:/FIREFOX-ICONS/Icons/pin-rot.png")';
/*******************************************************************************/
var vb_h = window.outerHeight;
var vb_minH = vb_h/20;
var vb_maxH = vb_h/2;
var vb_width = 32;
var vb_totalwidth = vb_cols * vb_width;
var vb_style = '\
box-sizing: content-box !important; \
background-color: ' + vb_bg_color + ' !important; \
min-width: ' + vb_totalwidth + 'px !important; \
max-width: ' + vb_totalwidth + 'px !important; \
min-height: ' + vb_minH + 'px !important; \
max-height: ' + vb_maxH + 'px !important; \
position: absolute !important; \
right: 60px !important; \
padding: 5px 0 !important; \
border: 2px ridge ' + vb_border_color + '; \
border-radius: 10px !important; \
z-index: 1 !important; \
';
var vb_element = document.getElementById('navigator-toolbox');
var vb_toolbar = document.createElement('toolbar');
vb_toolbar.id = 'fp-toolbar';
vb_toolbar.setAttribute('customizable', true);
vb_toolbar.setAttribute('mode', 'icons');
vb_toolbar.setAttribute('style', vb_style);
vb_element.appendChild( vb_toolbar );
vb_toolbar.setAttribute('collapsed', false);
CustomizableUI.registerArea( 'fp-toolbar' , { legacy: true } );
CustomizableUI.registerToolbarNode(vb_toolbar);
setTimeout(function(){
var tmp_positionInfo = vb_toolbar.getBoundingClientRect();
var tmp_height = tmp_positionInfo.height;
var vb_ptop = ( vb_h - tmp_height ) / 2;
vb_toolbar.style.top = vb_ptop + 'px';
if( vb_visibilityOnStart == 0 ) {
vb_toolbar.setAttribute('collapsed', true);
}
}, 500);
/*******************************************************************************/
try {
Components.utils.import("resource:///modules/CustomizableUI.jsm");
CustomizableUI.createWidget({
id: "fp-toggle-toolbar",
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: "Vertical Toolbar",
tooltiptext: "Vertical Toolbar",
onClick: function() {
var node = document.getElementById('fp-toolbar');
var isCollapsed = node.getAttribute('collapsed');
if( isCollapsed == 'false' ) {
node.setAttribute( 'collapsed' , 'true' );
node.style.visibility = 'collapse';
document.getElementById(this.id).style.listStyleImage = vb_isHiddenImage;
} else {
node.setAttribute( 'collapsed' , 'false' );
node.style.visibility = 'visible';
document.getElementById(this.id).style.listStyleImage = vb_isVisibleImage;
}
},
onCreated: function(aNode) {
if( vb_visibilityOnStart == 1 ) {
aNode.style.listStyleImage = vb_isVisibleImage;
} else {
aNode.style.listStyleImage = vb_isHiddenImage;
}
return aNode;
}
});
} catch (e) {
Components.utils.reportError(e);
};
/*******************************************************************************/
})();
Alles anzeigen