Da wir nun immer nur die FF Startseite hatten nun mal der Nightly
[Blockierte Grafik: http://www7.pic-upload.de/thumb/21.02.14/o8bingi8v76.png]
Es wirkt doch schon optischer besser als das Original
Da wir nun immer nur die FF Startseite hatten nun mal der Nightly
[Blockierte Grafik: http://www7.pic-upload.de/thumb/21.02.14/o8bingi8v76.png]
Es wirkt doch schon optischer besser als das Original
Jeder Beitrag zählt, auch der kleinste Hinweis kann von Nutzen sein.
Außerdem hatte ich es ohnehin als gemeinschaftliches Unternehmen gesehen, weil ich nur die Struktur liefern wollte.
Ganz perfekt ist das Skript übrigens nicht:
Verschiebt man die Startseite in ein anderes Fenster, dann wird bei den letzten drei Buttons beim Klick manchmal das alte Fenster in den Vordergrund geholt.
Aber das würde für verschiedene Buttons unterschiedliche Lösungen erfordern und wird daher nicht gefixt!
Ich habe im Code noch die überflüssige Variable doc entfernt und die Variable mainWindow in chromeWindow, weil passender, umbenannt:
// ==UserScript==
// @name aboutDialog
// @include chrome://browser/content/aboutDialog.xul
// ==/UserScript==
var aboutDialogContainer = document.getElementById('aboutDialogContainer');
var launchBox = document.createElement('hbox');
aboutDialogContainer.appendChild(launchBox);
launchBox.setAttribute('id','launchBox');
launchBox.innerHTML = '\
<button id="aD-downloads" label="Downloads" class="aD-launchButton"/>\
<button id="aD-bookmarks" label="Lesezeichen" class="aD-launchButton"/>\
<button id="aD-history" label="Chronik" class="aD-launchButton"/>\
<button id="aD-addons" label="Add-ons" class="aD-launchButton"/>\
<button id="aD-sync" label="Sync" class="aD-launchButton"/>\
<button id="aD-settings" label="Einstellungen" class="aD-launchButton"/>\
';
var chromeWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
function buttonfunc(id, command, param) {
document.getElementById(id).addEventListener('click', function (event) {
if (event.button == 0)
command(param);
});
};
buttonfunc('aD-downloads',chromeWindow.PlacesCommandHook.showPlacesOrganizer,'Downloads');
buttonfunc('aD-bookmarks',chromeWindow.PlacesCommandHook.showPlacesOrganizer,'AllBookmarks');
buttonfunc('aD-history',chromeWindow.PlacesCommandHook.showPlacesOrganizer,'History');
buttonfunc('aD-addons',chromeWindow.BrowserOpenAddonsMgr,null);
buttonfunc('aD-sync',chromeWindow.openPreferences,'paneSync');
buttonfunc('aD-settings',chromeWindow.openPreferences,null);
Alles anzeigen
So siehts hier aus..
[attachment=0]2014-02-22_134650.jpg[/attachment]
Sound interesting? hat hier keinen Button... :?
Dazu musst Du diese Seite in einem Tab öffnen:
Gib das oben in die Adressleiste ein: chrome://browser/content/aboutDialog.xul
Scriptish Erweiterung hast Du, Script von Aborix auch und den Css Code liefere ich gleich.
Mfg.
Endor
So hier der CSS Code, aber Achtung, das ist der ganze Code für dieses Fenster, bzw, diesen Tab,
Deine eigenen Anpassungen musst Du noch einbauen, bzw, ändern.
http://dl.dropbox.com/u/15467633/Fir…tern/dialog.css
Du kannst aber auch nur das Script hier verwenden, es hat nur einen Fehler, beim neu Laden des Tabs
sind hat die Buttons weg. Nach neu starten vom Fuchs sind die dann wieder da.
http://dl.dropbox.com/u/15467633/Fir…unktionen.uc.js
Mit obigem Script brauchst Du die Scriptish Erweiterung natürlich nicht mehr.
Mfg.
Endor
Das Skript für userChromeJS funktioniert nun auch vollständig.
Die Buttons sind bei jedem Aufruf der Seite vorhanden.
(function () {
if (location != 'chrome://browser/content/browser.xul') return;
window.addEventListener('DOMContentLoaded', function () {
if (content.location != 'chrome://browser/content/aboutDialog.xul') return;
var doc = content.document;
var aboutDialogContainer = doc.getElementById('aboutDialogContainer');
var launchBox = doc.createElement('hbox');
aboutDialogContainer.appendChild(launchBox);
launchBox.setAttribute('id','launchBox');
launchBox.innerHTML = '\
<button id="aD-downloads" label="Downloads" class="aD-launchButton"/>\
<button id="aD-bookmarks" label="Lesezeichen" class="aD-launchButton"/>\
<button id="aD-history" label="Chronik" class="aD-launchButton"/>\
<button id="aD-addons" label="Add-ons" class="aD-launchButton"/>\
<button id="aD-sync" label="Sync" class="aD-launchButton"/>\
<button id="aD-settings" label="Einstellungen" class="aD-launchButton"/>\
';
function buttonfunc(id, command, param) {
doc.getElementById(id).addEventListener('click', function (event) {
if (event.button == 0)
command(param);
});
};
buttonfunc('aD-downloads',PlacesCommandHook.showPlacesOrganizer,'Downloads');
buttonfunc('aD-bookmarks',PlacesCommandHook.showPlacesOrganizer,'AllBookmarks');
buttonfunc('aD-history',PlacesCommandHook.showPlacesOrganizer,'History');
buttonfunc('aD-addons',BrowserOpenAddonsMgr,null);
buttonfunc('aD-sync',openPreferences,'paneSync');
buttonfunc('aD-settings',openPreferences,null);
});
}) ();
Alles anzeigen
Man kann jetzt also wählen, userChromeJS oder Scriptish.
aborix du bist ein Genie!
:klasse:
Vielen vielen Dank.
Mfg.
Endor
Schließe mich an und dem ist nix mehr hinzuzufügen.
Danke vielmals
Ich kann mich nicht entscheiden ob Scriptish oder userChrome.js :-??
Habe es deswegen unterschiedlich in 2 Profilen hier :wink:
PS:
@aborix.....ich beneide dich um diese Kenntnisse...beide Arbeiten sind perfekt geworden :klasse:
und vielen Dank auch von mir dafür.