Teste bitte:
JavaScript
//ScrollTopAndBottom.uc.js//
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-top';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.setProperty('--menuitem-icon', 'url(chrome://browser/skin/downloads/downloads.svg)');
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
//click
menuitem.addEventListener('click', () => {
if (event.button == 0) {
gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);
}
});
})();
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-bottom';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.setProperty('--menuitem-icon', 'url(chrome://browser/skin/downloads/downloads.svg)');
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
//click
menuitem.addEventListener('click', () => {
if (event.button == 0) {
gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);
}
});
var css = `
#context-to-top {
transform:rotate(180deg)!important;
margin-left: 0px !important;
margin-right: 10px !important;
}
#context-to-top {
order: -1 !important;
}
#context-to-bottom {
order: -1 !important;
}
`;
var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
})();
Alles anzeigen
und auch:
JavaScript
//Author @BrokenHeart
(function() {
if (!window.gBrowser){
return;
}
CustomizableUI.createWidget({
id: 'addons-update-button-ucjs',
defaultArea: CustomizableUI.AREA_NAVBAR,
label: 'Add-ons Update',
tooltiptext: 'Add-ons aktualisieren',
onCommand: onCommand,
onCreated: function(button) {
button.style.listStyleImage = 'url("file:///C:/Users/weiss/AppData/Roaming/Mozilla/Firefox/Profiles/i3gghgwc.default/chrome/Icons/addons.png")';}
});
function onCommand(event) {
let targetUpdateMessage=null;
let categories=null;
//event.target.ownerGlobal.
openTrustedLinkIn('about:addons', 'tab');
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons')
return;
removeEventListener('pageshow', onPageshow);
categories = document.getElementById('categories');
targetUpdateMessage = document.querySelector('#page-header .main-heading #updates-message');
const configObserver = { attributes: true };
const observerUpdateMessage = new MutationObserver(callback);
observerUpdateMessage.observe(targetUpdateMessage, configObserver);
document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
});
const callback = (mutationList, observer) => {
for (const mutation of mutationList) {
if (mutation.type === 'attributes') {
message = targetUpdateMessage.getAttribute('state');
if( message == "manual-updates-found" ) {
setTimeout(function() {
gBrowser.selectedTab.linkedBrowser.reload();
}, 1000);
categories.querySelector('button[viewid="addons://updates/available"]').click();
return;
}
else if( message == "none-found" )
{
// ..
return;
}
else if( message == "installed" )
{
document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
setTimeout(function() {
categories.querySelector('button[viewid="addons://updates/recent"]').click();
}, 1000);
return;
}
}
}
}
};
})();
Alles anzeigen