Der ist noch von der vorhergehenden Version.
Braucht es eigentlich nicht. Vermute mal er hat die main.js
nicht aktualisiert.....
Mfg.
Endor
Der ist noch von der vorhergehenden Version.
Braucht es eigentlich nicht. Vermute mal er hat die main.js
nicht aktualisiert.....
Mfg.
Endor
Also hier sieht sie so aus:
// config.js
try {
Cu.importGlobalProperties(['PathUtils']);
if (!Services.appinfo.inSafeMode) {
let path = PathUtils.parent(PathUtils.xulLibraryPath);
if (Services.appinfo.OS == 'Darwin') { // macOS
path = PathUtils.join(PathUtils.parent(path), 'Resources');
}
var ucjsDirPath = PathUtils.join(path, 'userChromeJS');
path = PathUtils.join(ucjsDirPath, 'main.js');
const mainFileURI = PathUtils.toFileURI(path);
Services.scriptloader.loadSubScript(mainFileURI, this, 'UTF-8');
}
}
catch(e) {
Cu.reportError(e);
}
Alles anzeigen
und funktioniert einwandfrei.
Da kommt hier auch keinerlei Fehlermeldung.
Wichtig ist nur, dass man beide Dateien aktualisiert.
Also main.js und config.js!
Wichtig ist UTF-8 Codierung und Javascript als Sprache einstellen.
Mfg.
Endor
Mfg.
Endor
Wie befürchtet.
Nun die übliche Frage wie repariert man das?
Ich habe keine Ahnung wie.
Mfg.
Endor
Mann hat doch nie genug Buttons
Frage, funktioniert bei euch der Rechtsklick auf die Schaltfläche?
Der kopiert nur die Liste in die Zwischenablage.
Das funktioniert hier leider nicht.
Browserkonsole sagt dazu:
Uncaught TypeError: XULBrowserWindow.statusTextField is undefined
showAddons file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/6ha62y8g.Firefox-100/chrome/AddOnLister.uc.js:572
launch file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/6ha62y8g.Firefox-100/chrome/AddOnLister.uc.js:333
onclick chrome://browser/content/browser.xhtml:1
Vielleicht können uns Sören Hentzschel oder aborix mal wieder helfen.
Mfg.
Endor
Ja das ist eine ähnliche Funktion.
Das script von Ardiman bietet wesentlich mehr Optionen
Siehe auch meinen Screenshot oben.
Beispiel von Deinem Script:
userChromeJS/uc.js (135):
------------------------
1. 0-BackToTop.uc.js
2. 0-UserCSSLoader.uc.js
3. 000Toolbar3.uc.js
4. 000Toolbar4.uc.js
5. 00Tabbar-at-bottom.uc.js
6. 1-Reload-Tab.uc.js
7. 3-Preferences1.uc.js
8. 5-Download-Button.uc.js
9. 9-PageZoomButton.uc.js
10. about-config.uc.js
11. about-plugins.uc.js
12. aboutbutton.uc.js
13. abouttranslations-button.uc.js
14. Add-onbar.uc.js
15. AddBookmarkHere.uc.js
16. addHistoryFindbarFx78.uc.js
17. AddOnLister.uc.js
18. addons-update.uc.js
19. Appmenu.uc.js
20. atoolboxButton.uc.js
21. AutoPopup.uc.js
22. BackupProfile.uc.js
23. Base64-plus.uc.js
24. bookmarksmanager.uc.js
25. BuildIdToAboutDialogue.uc.js
26. ClearCacheButtonMovable.uc.js
27. CloseActiveTabButtonPanel.uc.js
28. closeothertabs.uc.js
29. closetab-context.uc.js
30. closetab.uc.js
31. ContextTranslate.uc.js
32. Copysysinfo.uc.js
33. CSSShadow.uc.js
34. Customhomebutton.uc.js
35. custom_scrollbars.uc.js
36. dav_LinkifiesLocationBar.uc.js
37. dav_Mousewheel_Zoom.uc.js
38. dav_tab_title_url.uc.js
39. DoubleClickToPinTab.uc.js
40. downloadProgressInLibrary.uc.js
41. DownloadSoundPlay.uc.js
42. DownloadsStatusModoki.uc.js
43. EncodingContextMenu.uc.js
44. Entwickler-Werkzeug.uc.js
45. Entwicklerwerkzeuge.uc.js
46. Erweiterung-verschiebbar.uc.js
47. expandsidebar.uc.js
48. ExtensionOptionsMenu.uc.js
49. External-Application.uc.js
50. extras_config_menu.uc.js
51. Eyedropper.uc.js
52. FavIconInUrlBar.uc.js
53. FindNextPrevByMouseWheel.uc.js
54. fluentRevealTabs.uc.js
55. googleImageSearch.uc.js
56. HTML-Seiten-button.uc.js
57. Kontextmenublokade.uc.js
58. LoadingBar.uc.js
59. mediasource.uc.js
60. memoryMinimizationButton.uc.js
61. memoryMonitormod.uc.js
62. MemoryUsage.uc.js
63. middle-click-undo-close-tab.uc.js
64. middleclickclosetab.uc.js
65. MoreToolsMenu.uc.js
66. MouseHoverNewTab.uc.js
67. MovableMenuButton.uc.js
68. MovableMenuitems.uc.js
69. MovablemoretoolsButton.uc.js
70. move_reload_into_url.uc.js
71. Multi-line_bookmark_toolbar.uc.js
72. NewTabButtonUndoTabList.uc.js
73. newtabfromhistory.uc.js
74. oben-gmail.uc.js
75. obenhistory-Sidebar.uc.js
76. open-chromefolder.uc.js
77. open-CSSfolder.uc.js
78. open-Iconsfolder.uc.js
79. open-password-tab.uc.js
80. open-password.uc.js
81. open-profilDirectory.uc.js
82. open-profilfolder.uc.js
83. openbookModokiFor40.uc.js
84. OpenDownloadFolderButtonM.uc.js
85. OpenWith_1.2.1b.uc.js
86. OptionsMenu_0.8.uc.js
87. password_manager_button.uc.js
88. Passwortundco.uc.js
89. places_addBookmarks.uc.js
90. PrintPreview.uc.js
91. quitfirefox.uc.js
92. RestartFirefoxButtonM.uc.js
93. RestartFirefox_plus.uc.js
94. saveto4.uc.js
95. saveUCJS_lite.uc.js
96. screenshot.uc.js
97. ScrollTopAndBottom.uc.js
98. searchEngineIcon.uc.js
99. SearchEngineWheelScroll.uc.js
100. SendToPlayer1.uc.js
101. show-image.uc.js
102. show_SearchBar_Histrory_Dropmarker.uc.js
103. Signatur.uc.js
104. siteinfo.uc.js
105. space_and_separator_restorer.uc.js
106. statusbar-date.uc.js
107. TabContextCloseAllTabs.uc.js
108. Tabfocuc.uc.js
109. tabLock_mod2.uc.js
110. TabNumbers_neu.uc.js
111. tabProtect_mod2.uc.js
112. Tabs-oeffnen.uc.js
113. TabWheelScroll.uc.js
114. textLink_e10s.uc.js
115. toggleFindbar-ctrl+f.uc.js
116. ToggleFindBar.uc.js
117. toggleFindbar_by_DoubleClick.uc.js
118. tooltipptest.uc.js
119. tooltipStyling.uc.js
120. ucjs_PrivateToolMenus.uc.js
121. uhr-panelbutton.uc.js
122. UndoCloseabContext.uc.js
123. UndoCloseTabButton1.uc.js
124. UndoCloseTabButtonN.uc.js
125. UndoListInTabmenuToo.uc.js
126. updatebookmark2.uc.js
127. upperURI.uc.js
128. userChromeShadow.uc.js
129. viewLinkSource.uc.js
130. WebDeveloper-Menu.uc.js
131. WebDeveloperToolbarButton.uc.js
132. wetterbericht.uc.js
133. Wetterfuchsbutton.uc.js
134. Zoom+Tabbar.uc.js
135. zzzz-tabContextMenu_combining_tabProtect_and_tabLock.uc.js
userChromeJS/uc.xul (0):
-------------------------
Alles anzeigen
Der Add-onlister macht wesendlich mehr:
Meine Firefox-Informationen
Letzte Aktualisierung: Dienstag, 16. Mai 2023 um 18:02:07
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0
[b]Erweiterungen[/b] (aktiviert: 24, deaktiviert: 2, gesamt: 26)
[list]
[*]Add-ons Search Detection 2.0.0:
[*]Amazon.de 1.12:
[*]Bing 1.5:
[*][url=https://aecreations.io/clippings/index.php]Clippings[/url] 6.4.5:
[*][url=https://github.com/ssborbis/ContextSearch-web-ext]ContextSearch web-ext[/url] 1.46.9:
[*]DuckDuckGo 1.4:
[*][url=https://www.yourvideofile.org/]Easy Youtube Video Downloader Express[/url] 18.4:
[*]eBay 1.4:
[*]Ecosia 1.2:
[*][url=https://github.com/mozilla-services/screenshots]Firefox Screenshots[/url] 39.0.1:
[*]Form Autofill 1.0.1:
[*]Google 1.4:
[*]LEO Eng-Deu 1.1:
[*]Picture-In-Picture 1.0.0:
[*][url=https://fastaddons.com/#search_result_previews]Suchergebnissvorschau[/url] 3.5:
[*][url=https://webextension.org/listing/tab-reloader.html]Tab Reloader (page auto refresh)[/url] 0.6.1:
[*][url=https://tab-session-manager.sienori.com/]Tab Session Manager[/url] 6.12.1:
[*][url=https://www.tampermonkey.net/]Tampermonkey[/url] 4.18.1:
[*]uAutoPagerize 0.1.9.3:
[*][url=https://github.com/gorhill/uBlock#ublock-origin]uBlock Origin[/url] 1.49.2:
[*][url=https://github.com/gorhill/uMatrix]uMatrix[/url] 1.4.4:
[*]Web Compatibility Interventions 113.0.0:
[*][url=https://github.com/mozilla/webcompat-reporter]WebCompat Reporter[/url] 1.5.1: [color=red][deaktiviert][/color]
[*]Wikipedia (de) 1.3:
[*]Yet Another Smooth Scrolling WE 2.0.10:
[*][url=https://zenmate.com]ZenMate Free VPN – Bestes VPN[/url] 8.2.3: [color=red][deaktiviert][/color]
[/list]
[b]Themes[/b] (7)
[list]
[*]Dunkel 1.2: [color=red][deaktiviert][/color]
[*]Firefox Alpenglow 1.4: [color=red][deaktiviert][/color]
[*]Hell 1.2: [color=red][deaktiviert][/color]
[*]In Itinere - Metal 2.0: [color=red][deaktiviert][/color]
[*]In Itinere - Metal 2.1:
[*]Metal total 1.0: [color=red][deaktiviert][/color]
[*]System-Theme – automatisch 1.3: [color=red][deaktiviert][/color]
[/list]
[b]Plugins[/b] (2)
[list]
[*][url=https://www.openh264.org/]OpenH264-Videocodec zur Verfügung gestellt von Cisco Systems, Inc.[/url] 1.8.1.2:
[*][url=https://www.widevine.com/]Widevine Content Decryption Module zur Verfügung gestellt von Google Inc.[/url] 4.10.2557.0:
[/list]
[b]Wörterbücher[/b] (4)
[list]
[*]British English Dictionary 1.19.1.2webext:
[*][url=https://grammalecte.net]Dictionnaire français[/url] 7.0b:
[*][url=https://github.com/flodolo/dizionario-it]Dizionario italiano[/url] 5.1:
[*]German Dictionary 2.1:
[/list]
[b]userChromeJS[/b] (135)
Durch die Erweiterung [url=http://userchromejs.mozdev.org/]userChromeJS[/url] eingebundene Skripte ergänzen den Firefox um diverse Funktionen.
[list]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/0backtotop]0-BackToTop.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/0usercssloader]0-UserCSSLoader.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/000toolbar3]000Toolbar3.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/000toolbar4]000Toolbar4.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/00tabbaratbottom]00Tabbar-at-bottom.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/1reloadtab]1-Reload-Tab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/3preferences1]3-Preferences1.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/5downloadbutton]5-Download-Button.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/9pagezoombutton]9-PageZoomButton.uc.js[/url]
[*]about-config.uc.js
[*]about-plugins.uc.js
[*][url=https://github.com/ardiman/userChrome.js/tree/master/aboutbutton]aboutbutton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/abouttranslationsbutton]abouttranslations-button.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/addonbar]Add-onbar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/addbookmarkhere]AddBookmarkHere.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/addhistoryfindbarfx78]addHistoryFindbarFx78.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/addonlister]AddOnLister.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/addonsupdate]addons-update.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/appmenu]Appmenu.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/atoolboxbutton]atoolboxButton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/autopopup]AutoPopup.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/backupprofile]BackupProfile.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/base64plus]Base64-plus.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/bookmarksmanager]bookmarksmanager.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/buildidtoaboutdialogue]BuildIdToAboutDialogue.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/clearcachebuttonmovable]ClearCacheButtonMovable.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/closeactivetabbuttonpanel]CloseActiveTabButtonPanel.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/closeothertabs]closeothertabs.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/closetabcontext]closetab-context.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/closetab]closetab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/contexttranslate]ContextTranslate.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/copysysinfo]Copysysinfo.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/cssshadow]CSSShadow.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/custom_scrollbars]custom_scrollbars.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/customhomebutton]Customhomebutton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/dav_linkifieslocationbar]dav_LinkifiesLocationBar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/dav_mousewheel_zoom]dav_Mousewheel_Zoom.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/dav_tab_title_url]dav_tab_title_url.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/doubleclicktopintab]DoubleClickToPinTab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/downloadprogressinlibrary]downloadProgressInLibrary.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/downloadsoundplay]DownloadSoundPlay.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/downloadsstatusmodoki]DownloadsStatusModoki.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/encodingcontextmenu]EncodingContextMenu.uc.js[/url]
[*]Entwickler-Werkzeug.uc.js
[*][url=https://github.com/ardiman/userChrome.js/tree/master/entwicklerwerkzeuge]Entwicklerwerkzeuge.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/erweiterungverschiebbar]Erweiterung-verschiebbar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/expandsidebar]expandsidebar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/extensionoptionsmenu]ExtensionOptionsMenu.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/externalapplication]External-Application.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/extras_config_menu]extras_config_menu.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/eyedropper]Eyedropper.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/faviconinurlbar]FavIconInUrlBar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/findnextprevbymousewheel]FindNextPrevByMouseWheel.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/fluentrevealtabs]fluentRevealTabs.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/googleimagesearch]googleImageSearch.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/htmlseitenbutton]HTML-Seiten-button.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/kontextmenublokade]Kontextmenublokade.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/loadingbar]LoadingBar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/mediasource]mediasource.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/memoryminimizationbutton]memoryMinimizationButton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/memorymonitormod]memoryMonitormod.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/memoryusage]MemoryUsage.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/middleclickundoclosetab]middle-click-undo-close-tab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/middleclickclosetab]middleclickclosetab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/moretoolsmenu]MoreToolsMenu.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/mousehovernewtab]MouseHoverNewTab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/movablemenubutton]MovableMenuButton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/movablemenuitems]MovableMenuitems.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/movablemoretoolsbutton]MovablemoretoolsButton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/move_reload_into_url]move_reload_into_url.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/multiline_bookmark_toolbar]Multi-line_bookmark_toolbar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/newtabbuttonundotablist]NewTabButtonUndoTabList.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/newtabfromhistory]newtabfromhistory.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/obengmail]oben-gmail.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/obenhistorysidebar]obenhistory-Sidebar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openchromefolder]open-chromefolder.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/opencssfolder]open-CSSfolder.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openiconsfolder]open-Iconsfolder.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openpasswordtab]open-password-tab.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openpassword]open-password.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openprofildirectory]open-profilDirectory.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openprofilfolder]open-profilfolder.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openbookmodokifor40]openbookModokiFor40.uc.js[/url]
[*]OpenDownloadFolderButtonM.uc.js
[*][url=https://github.com/ardiman/userChrome.js/tree/master/openwith]OpenWith_1.2.1b.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/optionsmenu]OptionsMenu_0.8.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/password_manager_button]password_manager_button.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/passwortundco]Passwortundco.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/places_addbookmarks]places_addBookmarks.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/printpreview]PrintPreview.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/quitfirefox]quitfirefox.uc.js[/url]
[*]RestartFirefox_plus.uc.js
[*][url=https://github.com/ardiman/userChrome.js/tree/master/restartfirefoxbuttonm]RestartFirefoxButtonM.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/saveto4]saveto4.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/saveucjs_lite]saveUCJS_lite.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/screenshot]screenshot.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/scrolltopandbottom]ScrollTopAndBottom.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/searchengineicon]searchEngineIcon.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/searchenginewheelscroll]SearchEngineWheelScroll.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/sendtoplayer1]SendToPlayer1.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/showimage]show-image.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/show_searchbar_histrory_dropmarker]show_SearchBar_Histrory_Dropmarker.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/signatur]Signatur.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/siteinfo]siteinfo.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/space_and_separator_restorer]space_and_separator_restorer.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/statusbardate]statusbar-date.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabcontextclosealltabs]TabContextCloseAllTabs.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabfocuc]Tabfocuc.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tablock_mod2]tabLock_mod2.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabnumbers_neu]TabNumbers_neu.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabprotect_mod2]tabProtect_mod2.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabsoeffnen]Tabs-oeffnen.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tabwheelscroll]TabWheelScroll.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/textlink_e10s]textLink_e10s.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/togglefindbarctrlf]toggleFindbar-ctrl+f.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/togglefindbar]ToggleFindBar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/togglefindbar_by_doubleclick]toggleFindbar_by_DoubleClick.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tooltipptest]tooltipptest.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/tooltipstyling]tooltipStyling.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/privatetoolmenus]ucjs_PrivateToolMenus.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/uhrpanelbutton]uhr-panelbutton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/undocloseabcontext]UndoCloseabContext.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/undoclosetabbutton1]UndoCloseTabButton1.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/undoclosetabbuttonn]UndoCloseTabButtonN.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/undolistintabmenutoo]UndoListInTabmenuToo.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/updatebookmark2]updatebookmark2.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/upperuri]upperURI.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/userchromeshadow]userChromeShadow.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/viewlinksource]viewLinkSource.uc.js[/url]
[*]WebDeveloper-Menu.uc.js
[*][url=https://github.com/ardiman/userChrome.js/tree/master/webdevelopertoolbarbutton]WebDeveloperToolbarButton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/wetterbericht]wetterbericht.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/wetterfuchsbutton]Wetterfuchsbutton.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/zoomtabbar]Zoom+Tabbar.uc.js[/url]
[*][url=https://github.com/ardiman/userChrome.js/tree/master/zzzztabcontextmenu_combining_tabprotect_and_tablock]zzzz-tabContextMenu_combining_tabProtect_and_tabLock.uc.js[/url]
[/list]
Alles anzeigen
Mfg.
Endor
Nur mal zur Info.
Ardiman - Mithrandir ist leider schon länger nicht mehr aktiv.
Er hat auch auf meine PN von vor ein oder zwei Jahren nicht mehr reagiert.
Daher sind wenn nur noch bei mir auf Github die aktuellesten Versionen zu finden.
In diesen Fall wäre es diese hier gewesen:
Mfg.
Endor
Mfg.
Endor
Diese Version scheint noch neuer zu sein und funktioniert hier einwandfrei:
// ==UserScript==
// @name AddOnLister.uc.js
// @compatibility Firefox 36.*, 37.*, 60.*, 63.*
// @include main
// @version 1.0.20181102
// ==/UserScript==
var ADONLI = {
// ----- Start Konfiguration
// folgende Add-ons nicht auflisten Beispiel: ["InfoLister","AddOnLister.uc.js"]
BLACKLIST: [],
// einige Tests der Konfiguration durchführen (true oder false)?
CHECKCONFIG: true,
// ans eigene System anpassen - Pfad mit Verzeichnistrenner abschliessen. Unter Windows den \ bitte verdoppeln
EXPORTPATH: "C:\\Users\\xxx\\Documents\\Firefox\\",
//Dateinamen ohne(!) Erweiterung eingeben - diese wird weiter unten im Wert "fileext" pro Ausgabeformat definiert
EXPORTFILE: "addonlister",
// Ausgabeformat bbcode, html oder custom
FORMAT: "bbcode",
// Erstellungsdatum anzeigen (true oder false)
SHOWDATE: true,
// Useragent anzeigen (true oder false)
SHOWUSERAGENT: true,
// Versuche folgende userChromeJS-Skripte *nicht* mit GitHub zu verlinken, weil nicht gewünscht oder möglich. ["*"] für gar keine Verlinkung
GITHUBBLACKLIST: ["about-config.uc.js", "about-plugins.uc.js" ,"AddonsSidebar.uc.xul", "autopopupablepatch1.uc.js", "autopopupablepatch3.uc.js", "Chronik-Lesezeichen.uc.js", "Close-other-tabs.uc.js", "ContextHistory.uc.xul", "CustomAppMenu.uc.js", "Download-button.uc.js", "Einstellungen-Customize.uc.js", "element_inspector.uc.js", "Entwickler-Werkzeug.uc.js", "expandsidebar40.uc.js", "favicon-about-plugins.uc.js", "feedbutton-urlbar.uc.js", "Fehlerkonsole.uc.js", "Link-per-Email.uc.js", "liste-leeren.uc.js", "memorymonitor.uc.js", "open-folder.uc.js", "OpenDownloadFolderButtonM.uc.js", "OpenLibraryContextMenu.uc.xul", "Preferences.uc.js", "RestartFirefox_plus.uc.js", "savefoldermodoki.uc.xul", "scrollTotop-bottom.uc.js", "searchplugin-4-aboutconfig.uc.js", "speedupErrorConsole.uc.js", "Statusbar-Date.uc.js", "Stylish-Fenster-Sidebar.uc.js", "Tabmixplus-Einstelungen-in-Tabkontext.uc.js", "Tabmixplus-Options.uc.js", "ucjs_PrivateToolMenus-APP.uc.js", "ucjs_statusbar_zoom_panel_1.3.uc.js", "WebDeveloper-Menu.uc.js"],
// In der folgenden Zeile den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
TEXTOPENEXE : 'C:\\Program Files\\Notepad++\\notepad++.exe',
// Aufzulistende Add-On-Typen festlegen - möglich sind: ["extension","theme","plugin","dictionary","service","userstyle","greasemonkey-user-script","userchromejs"]
WHICHTYPES: ["extension","theme","plugin","dictionary","userchromejs"],
// ----- Ende Konfiguration
// ----- Start Expertenkonfiguration
ICON_URL: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACGUlEQVR42mL8//8/AzJYtWy+G5ByB2IrINaECl8H4mNAvDMsKnEXsnqAAGIEGXDv1nmGM2cuKAD5OUCcAcTcDNjBVyCeAcRTTEwMHiipGTIABBALSBSquRmIY5iZmT8ICvI/FxQU4OHm5mID6/r67df79x++vH//kfPv37/FQCFxoJ5aoAEPAAKIBWoyyOYYdnb2Z9LSkqxCQgKSyNby8/OxAzEvH9+H10+fPn/28+fPGKDwSyAuAQggZi01eZCfu4E2f5OVlWYAahaFaTx95jyDnaM3Ax8fL4OhgS4DJycHNysr649Pnz7/Bnrd/OrlC2cAAogJGmDcQGd/Q9YMAv8YORmSkpIY+Hh54GIgNSC10HByBwggFmhoMwD9LIgeYrKSAgz+Ps4MOtqaKOIgtW/evAMxrQACiAkWVcAAY0JWBHQmg7d/ONgb6ABJrSZAADHhiC6G3Xv2gw1xdXFgwAcAAogJmkhAUfUPWeL+w8cMamoqDDLSUgxMbKi+Q1J7HSCAmKApjAEYz++RFV2/fouBg52dYeXqDQzHj+xGMQBJ7TGAAAIZsBNkKDCRcL179+E1TJGXpysDCysbw4dPPxjMzUzgmkFqQGqhqXInQACBkzIw/fcAOcVICUkUm39BmoEJ6TcwIUkBub3AfFECEECwlDgFlDxBKezhw8cfPn36hC8pgwxfAtXDABBAFGcmgABipDQ7AwQYAOqo3UvZE3l2AAAAAElFTkSuQmCC",
MYTPLS:{
'html': //für Darstellung als vollständiges html5-Dokument
{
'fileext':'html',
'opendatauri': false,
'intro':'<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n'
+'<title>Meine Firefox-Informationen</title>\n</head>\n<body>\n<h1>Meine Firefox-Informationen</h1>\n',
'tpllastupd':'<div>\nLetzte Aktualisierung: %%lastupd%%\n</div>',
'tpluseragent':'<div>\nUser Agent: %%useragent%%\n</div>',
'tpladdongrp_title':{
'extension':'<div id="extensions">\n<h2>Erweiterungen <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'theme':'<div id="themes">\n<h2>Themes <small>(%%count%%)</small></h2>',
'plugin':'<div id="plugins">\n<h2>Plugins <small>(%%count%%)</small></h2>',
'dictionary':'<div id="dictionaries">\n<h2>Wörterbücher <small>(%%count%%)</small></h2>',
'service':'<div id="services">\n<h2>Dienste <small>(%%count%%)</small></h2>',
'userstyle':'<div id="userstyles">\n<h2>Userstyles <small>(%%count%%)</small></h2>',
'greasemonkey-user-script':'<div id="gmscripts">\n<h2>Greasemonkey <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'userchromejs':'<div id="userchromejs">\n<h2>userChromeJS <small>(%%count%%)</small></h2>'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'<p>Greasemonkey-Skripte können Webseiten um diverse Funktionen erweitern.</p>',
'userchromejs':'<p>Durch die Erweiterung <a href="http://userchromejs.mozdev.org/">userChromeJS</a> eingebundene Skripte ergänzen den Firefox um diverse Funktionen.</p>'
},
'tpladdongrp_list_intro':{
'default':'<ul>'
},
'tpladdon':'<li class="%%class%%"><a href="%%homepageURL%%">%%name%%</a> %%version%%: %%description%%%%disabled%%</li>\n',
'tpladdon_without_url':'<li class="%%class%%">%%name%% %%version%%: %%description%%%%disabled%%</li>\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':'<small><span style="color:#ff0000;">[deaktiviert]</span></small>',
'tpladdongrp_list_outro':'</ul>\n',
'tpladdongrp_outro':'</div>\n\n',
'outro':'</body>\n</html>'
},
'bbcode': //für Postings in Foren, die bbcode unterstützen
{
'fileext':'txt',
'opendatauri': true,
'intro':'Meine Firefox-Informationen\n\n',
'tpllastupd':'Letzte Aktualisierung: %%lastupd%%',
'tpluseragent':'User Agent: %%useragent%%\n',
'tpladdongrp_title':{
'extension':'[b]Erweiterungen[/b] (aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)',
'theme':'[b]Themes[/b] (%%count%%)',
'plugin':'[b]Plugins[/b] (%%count%%)',
'dictionary':'[b]Wörterbücher[/b] (%%count%%)',
'service':'[b]Dienste[/b] (%%count%%)',
'userstyle':'[b]Userstyles[/b] (%%count%%)',
'greasemonkey-user-script':'[b]Greasemonkey[/b] (aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)',
'userchromejs':'[b]userChromeJS[/b] (%%count%%)'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'Greasemonkey-Skripte können Webseiten um diverse Funktionen erweitern.',
'userchromejs':'Durch die Erweiterung [url=http://userchromejs.mozdev.org/]userChromeJS[/url] eingebundene Skripte ergänzen den Firefox um diverse Funktionen.'
},
'tpladdongrp_list_intro':{
'default':'[list]'
},
'tpladdon':'[*][url=%%homepageURL%%]%%name%%[/url] %%version%%: %%description%%%%disabled%%\n',
'tpladdon_without_url':'[*]%%name%% %%version%%: %%description%%%%disabled%%\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':' [color=red][deaktiviert][/color]',
'tpladdongrp_list_outro':'[/list]\n',
'tpladdongrp_outro':'\n',
'outro':''
},
'custom': //Beispiel - für Darstellung als "include" in einem anderen (x)html-Dokument
{
'fileext':'txt',
'opendatauri': true,
'intro':'<p id="bsbuttons">\n'
+'<a class="tab active" href="http://www.ardiman.de/sonstiges/fxconfig.html?mode=windows">Windows 7</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html?mode=ubuntu">XUbuntu</a>\n'
+'</p>\n'
+'<div id="buttons">\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#extensions">Erweiterungen</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#themes">Themes</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#plugins">Plugins</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#dictionaries">Wörterbücher</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#services">Dienste</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#userstyles">Userstyles</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#gmscripts">Greasemonkey</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#userchromejs">userChromeJS</a>\n'
+'<br/></div>\n',
'tpllastupd':'<div class="lastupd">\nLetzte Aktualisierung: %%lastupd%%\n</div>',
'tpluseragent':'<div class="useragent">\nUser Agent: %%useragent%%\n</div>',
'tpladdongrp_title':{
'extension':'<div id="extensions" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_extensions.png" />Erweiterungen <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'theme':'<div id="themes" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_themes.png" />Themes <small>(%%count%%)</small></h2>',
'plugin':'<div id="plugins" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_plugins.gif" />Plugins <small>(%%count%%)</small></h2>',
'dictionary':'<div id="dictionaries" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_dictionaries.png" />Wörterbücher <small>(%%count%%)</small></h2>',
'service':'<div id="services" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_services.png" />Dienste <small>(%%count%%)</small></h2>',
'userstyle':'<div id="userstyles" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_styles.png" />Userstyles <small>(%%count%%)</small></h2>',
'greasemonkey-user-script':'<div id="gmscripts" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_monkey.png" />Greasemonkey <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'userchromejs':'<div id="userchromejs" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_javascript.gif" />userChromeJS <small>(%%count%%)</small></h2>'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'<p>Einige Skripte stammen direkt von mir (s. auch <a href="http://www.ardiman.de/sonstiges/fxconfig/gmskripte.html">Greasemonkey-Skripte</a> bzw. <a class="extlink" href="https://openuserjs.org/users/ardiman/scripts" rel="nofollow">https://openuserjs.org/users/ardiman/scripts</a>), andere wurden nur geringfügig angepasst.</p>',
'userchromejs':'<p id="fxcuclisteintro">Durch die Erweiterung userChromeJS eingebundene Skripte ergänzen den Firefox um diverse Funktionen.</p>'
},
'tpladdongrp_list_intro':{
'default':'<ul>',
'userchromejs':'<ul id="fxcucliste">'
},
'tpladdon':'<li class="%%class%%"><a href="%%homepageURL%%" rel="nofollow" class="extlink">%%name%%</a> %%version%%: %%description%%%%disabled%%</li>\n',
'tpladdon_without_url':'<li class="%%class%%">%%name%% %%version%%: %%description%%%%disabled%%</li>\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':' <small>[deaktiviert]</small>',
'tpladdongrp_list_outro':'</ul>\n',
'tpladdongrp_outro':'</div>\n\n',
'outro':''
}
},
// ----- Ende Expertenkonfiguration
MYSTOR: {},
FILEUTILS: Cu.import("resource://gre/modules/FileUtils.jsm").FileUtils,
init: function() {
// legt verschiebbaren Button und Menü unter Extras an
// Button
if (location != "chrome://browser/content/browser.xhtml") return;
try {
CustomizableUI.createWidget({
id: 'adonli-button',
type: 'custom',
// defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'adonli-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'AddonLister',
tooltiptext: 'AddOnLister starten (Erstellung im Format »'+ADONLI.FORMAT+'«):\nLinksklick öffnet Ergebnis im Editor\nMittelklick öffnet Ergebnis als Tab im Browser\nRechtsklick exportiert die Liste ohne Anzeige im Editor oder Browser',
style: 'list-style-image: url(' + ADONLI.ICON_URL + ')',
onclick: 'event.preventDefault(); return ADONLI.launch(event.button, \"' + ADONLI.FORMAT +'\");'
};
for (var a in attributes)
toolbaritem.setAttribute(a, attributes[a]);
return toolbaritem;
}
});
} catch(e) { };
// Menü
function addNode(parentId, type, attributes) {
let node = document.createXULElement(type);
for (let a in attributes) {
node.setAttribute(a, attributes[a]);
};
document.getElementById(parentId).appendChild(node);
};
addNode("menu_ToolsPopup", "menu", {
id: "menu_ucjsAddonLister",
accesskey: "L",
label: "AddonLister",
class: "menu-iconic",
style: "list-style-image: url(" + ADONLI.ICON_URL + ")"
});
document.getElementById("menu_ToolsPopup")
.insertBefore(document.getElementById("menu_ucjsAddonLister"),
document.getElementById("menu_openAddons").nextSibling);
addNode("menu_ucjsAddonLister", "menupopup", {
id: "menu_ucjsAddonLister-popup"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-bbcode",
accesskey: "B",
label: "BBCODE",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-bbcode", "menupopup", {
id: "menu_ucjsAddonLister-popup-bbcode"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_editor-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'bbcode\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_browser-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'bbcode\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_write-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'bbcode\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-html",
accesskey: "H",
label: "HTML",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-html", "menupopup", {
id: "menu_ucjsAddonLister-popup-html"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_editor-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'html\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_browser-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'html\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_write-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'html\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-custom",
accesskey: "C",
label: "Custom",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-custom", "menupopup", {
id: "menu_ucjsAddonLister-popup-custom"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_editor-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'custom\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_browser-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'custom\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_write-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'custom\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_editor",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'" + ADONLI.FORMAT + "\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_browser",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'" + ADONLI.FORMAT + "\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_write",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'" + ADONLI.FORMAT + "\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
},
launch: function(e,format) {
// ruft alle noetigen Funktionen nach Klick auf Toolbarbutton auf
var ctrlConf = "";
if (this.CHECKCONFIG) ctrlConf = this.configCheck();
if (ctrlConf === "") {
var expfile = this.EXPORTPATH + this.EXPORTFILE + "." + this.MYTPLS[format].fileext;
this.getOtherValues();
this.resetStor();
this.getAddons();
if (this.WHICHTYPES.indexOf('userchromejs') !== -1) this.getScripts();
var result = this.writeAddons(expfile,format);
this.showAddons(e,this.TEXTOPENEXE,expfile,format,result);
} else {
alert ("Lt. Konfigurationstest des AddonListers muss folgendes kontrolliert werden:\n" + ctrlConf);
}
},
configCheck: function() {
var fehler = "";
// Kontrolle des Pfades
if (this.EXPORTPATH.substr(-1) !== "\\" && this.EXPORTPATH.substr(-1) !== "/") fehler += "\n - Der Pfad in EXPORTPATH endet nicht mit einem Verzeichnistrenner.";
if (!this.fileExists(this.EXPORTPATH)) fehler += "\n - Der Pfad »" + this.EXPORTPATH + "« in EXPORTPATH existiert nicht.";
// Kontrolle des Dateinamens
if (this.EXPORTFILE.indexOf(".") !== -1) fehler += "\n - Der Dateiname in EXPORTFILE sollte keinen Punkt enthalten (ohne Erweiterung sein).";
if (this.EXPORTFILE.length === 0) fehler += "\n - Es wurde kein Dateiname in EXPORTFILE hinterlegt.";
// Kontrolle des Formates
var formate = ["bbcode", "custom", "html"];
if (formate.indexOf(this.FORMAT) === -1) fehler += "\n - Ungültiges FORMAT »" + this.FORMAT + "«.";
// Kontrolle des Editors
if (!this.fileExists(this.TEXTOPENEXE)) {
var pref = Cc["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
if (!this.fileExists(pref.getCharPref("view_source.editor.path"))) {
fehler += "\n - Der in TEXTOPENEXE und about:config [view_source.editor.path] hinterlegte Editor kann nicht gefunden werden.";
}
}
// Kontrolle der gewünschten Addon-Typen, folgende sind momentan gültig:
var addontypes = ["extension","theme","plugin","dictionary","service","userstyle","greasemonkey-user-script","userchromejs"];
var w;
for (w = 0; w < this.WHICHTYPES.length; w++) {
if (addontypes.indexOf(this.WHICHTYPES[w]) === -1) {
fehler += "\n - In WHICHTYPES wurden ein oder mehrere unbekannte Add-on-Typen (z.B. »" + this.WHICHTYPES[w] + "«) gewählt.";
break;
}
}
return fehler;
},
fileExists: function(mypath) {
// kontrolliert, ob Pfad oder Datei gültig/vorhanden ist
var file = new this.FILEUTILS.File(mypath);
return file.exists();
},
resetStor: function() {
// setzt das JSON-Object (bzw. die "Listen" darin) zurueck
var h;
for (h = 0; h < this.WHICHTYPES.length; h++) {
this.MYSTOR[this.WHICHTYPES[h]] = [];
}
},
getOtherValues: function() {
// speichert momentan Auswertungsdatum und useragent im JSON-Object
var options;
options = {weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: false};
if (this.SHOWDATE) this.MYSTOR["lastupd"] = new Date().toLocaleDateString("de-DE", options);
if (this.SHOWUSERAGENT) this.MYSTOR["useragent"] = window.navigator.userAgent;
},
getAddons: function() {
// speichert die gewaehlten Addons (s. WHICHTYPES) im JSON-Object
var i, x, j, iAo, Addons, added, storedItems;
AddonManager.getAddonsByTypes(this.WHICHTYPES).then(function(addonlist) {
Addons = addonlist;
});
var thread = Cc['@mozilla.org/thread-manager;1'].getService().mainThread;
while (Addons === void(0)) {
thread.processNextEvent(true);
}
// Schleife ueber Addons
for (i = 0; i < Addons.length; i++) {
iAo = Addons[i];
added = false;
storedItems = this.MYSTOR[iAo.type].length;
// nächste Aktionen nur, wenn Addon *nicht* in BLACKLIST steht
if (this.BLACKLIST.indexOf(iAo.name) === -1) {
// Ablage gleich sortiert vornehmen
for (j = 0; j < storedItems; j++) {
if (iAo.name.toLowerCase() < this.MYSTOR[iAo.type][j].name.toLowerCase()) {
this.MYSTOR[iAo.type].splice(j,0,{ 'name': iAo.name, 'version': iAo.version, 'active': iAo.isActive, 'homepage': iAo.homepageURL});
added = true;
break;
}
}
if (!added) this.MYSTOR[iAo.type].push({ 'name': iAo.name, 'version': iAo.version, 'active': iAo.isActive, 'homepage': iAo.homepageURL});
}
}
},
getScripts: function() {
// speichert ggf. im Chrome-Ordner vorhandene uc.js und uc.xul-Dateien im JSON-Object
var hp, j, storedItems, added;
// Suchmuster, also die Dateierweiterungen uc.js und uc.xul
let extjs = /\.uc\.js$/i;
let extxul = /\.uc\.xul$/i;
let aFolder = Cc["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("UChrm", Components.interfaces.nsIFile);
// files mit Eintraegen im Chrome-Ordner befuellen
let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
// Ordner bzw. Dateien durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
while (files.hasMoreElements()) {
let file = files.getNext().QueryInterface(Ci.nsIFile);
// keine gewuenschte Datei, deshalb continue
if ((!extjs.test(file.leafName) && !extxul.test(file.leafName)) || this.BLACKLIST.indexOf(file.leafName) !== -1) continue;
// uc.js bzw. uc.xul gefunden, die nicht in der Blacklist stehen -> Ablage sortiert (unter Linux erforderlich) im JSON vornehmen
hp = this.githubLink(file.leafName);
added = false;
storedItems = this.MYSTOR.userchromejs.length;
for (j = 0; j < storedItems; j++) {
if (file.leafName.toLowerCase() < this.MYSTOR.userchromejs[j].name.toLowerCase()) {
this.MYSTOR.userchromejs.splice(j,0,{'name': file.leafName, 'version': undefined, 'active': true, 'description': undefined, 'homepage': hp});
added = true;
break;
}
}
if (!added) this.MYSTOR.userchromejs.push({'name': file.leafName, 'version': undefined, 'active': true, 'description': undefined, 'homepage': hp});
}
},
githubLink: function(sName) {
// übergibt für gegebenen Skriptnamen den Link zu github
// früher Ausstieg, da Skript nicht verlinkt werden soll
if (this.GITHUBBLACKLIST.indexOf(sName) !== -1 || this.GITHUBBLACKLIST.indexOf("*") !== -1) return null;
sName = sName.toLowerCase();
/* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
/Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
/ "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
*/
var regs = [/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
for (var i = 0; i < regs.length; i++) {
sName = sName.replace(regs[i],"");
}
return "https://github.com/ardiman/userChrome.js/tree/master/" + sName;
},
writeAddons: function(file,format){
var a, t, c, n, d, atype, aout, thisaddon;
var output = "";
var addontpl = "";
var addontplwithouturl = "";
Cu.import("resource://gre/modules/osfile.jsm");
addontpl = this.MYTPLS[format].tpladdon;
addontplwithouturl = this.MYTPLS[format].tpladdon_without_url;
output += this.MYTPLS[format].intro;
if (this.SHOWDATE) output += this.MYTPLS[format].tpllastupd.replace(/%%lastupd%%/g,this.MYSTOR.lastupd)+"\n";
if (this.SHOWUSERAGENT) output += this.MYTPLS[format].tpluseragent.replace(/%%useragent%%/g,this.MYSTOR.useragent)+"\n";
for (t = 0; t < this.WHICHTYPES.length; t++) {
atype = this.WHICHTYPES[t];
c = this.MYSTOR[atype].length;
n = 0;
d = 0;
output += this.MYTPLS[format].tpladdongrp_title[atype].replace(/%%count%%/g,c)+"\n";
if (this.MYTPLS[format].tpladdongrp_intro[atype] == undefined) {
output += this.MYTPLS[format].tpladdongrp_intro.default + (this.MYTPLS[format].tpladdongrp_intro.default.length > 0 ? "\n" : "");
} else {
output += this.MYTPLS[format].tpladdongrp_intro[atype] + (this.MYTPLS[format].tpladdongrp_intro[atype].length > 0 ? "\n" : "");
}
if (this.MYTPLS[format].tpladdongrp_list_intro[atype] == undefined) {
output += this.MYTPLS[format].tpladdongrp_list_intro.default+"\n";
} else {
output += this.MYTPLS[format].tpladdongrp_list_intro[atype]+"\n";
}
for (a = 0; a < c; a++) {
thisaddon = this.MYSTOR[atype][a];
// console.log(atype + " " + thisaddon.name + " " + thisaddon.active);
if (thisaddon.homepage == undefined) {
aout = addontplwithouturl;
} else {
aout = addontpl;
aout = aout.replace(/%%homepageURL%%/g,thisaddon.homepage.replace(/&(?!amp;)/g,'&'));
}
aout = aout.replace(/%%name%%/g,thisaddon.name);
if (thisaddon.version == undefined) {
if (thisaddon.description != undefined) {
aout = aout.replace(/ %%version%%: /g,": ");
} else {
aout = aout.replace(/ %%version%%: /g,"");
}
}
aout = aout.replace(/%%version%%/g,thisaddon.version);
if (thisaddon.description != undefined) {
aout = aout.replace(/%%description%%/g,thisaddon.description);
} else {
aout = aout.replace(/%%description%%/g,"");
}
if (thisaddon.active !== true) {
aout = aout.replace(/%%class%%/g,this.MYTPLS[format].inactiveclass);
aout = aout.replace(/%%disabled%%/g,this.MYTPLS[format].disabledtext);
d++;
} else {
aout = aout.replace(/%%class%%/g,this.MYTPLS[format].activeclass);
aout = aout.replace(/%%disabled%%/g,"");
n++;
}
output += aout;
}
output = output.replace(/%%countactive%%/g,n).replace(/%%countinactive%%/g,d);
output += this.MYTPLS[format].tpladdongrp_list_outro;
output += this.MYTPLS[format].tpladdongrp_outro;
}
output += this.MYTPLS[format].outro+"\n";
let encoder = new TextEncoder();
let myarray = encoder.encode(output);
let promise = OS.File.writeAtomic(file, myarray);
return output;
},
showAddons: function(e,RanPath,OpenPath,format,myoutput) {
// zeigt das EXPORTFILE im Editor oder im Browser (Mittelklick) an
switch (e) {
case 0:
var file = new this.FILEUTILS.File(RanPath);
var proc = Cc["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
var args = [OpenPath];
// falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
if (!this.fileExists(RanPath)) {
console.log("AddonLister meldet: Editor nicht gefunden, ausweichen auf about:config.");
var pref = Cc["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
RanPath = pref.getCharPref("view_source.editor.path");
file = new this.FILEUTILS.File(RanPath);
}
proc.init(file);
proc.run(false, args, args.length);
break;
case 1:
if (this.MYTPLS[format].opendatauri) {
var datastring = myoutput.replace(/\n/g,"%0A").replace(/#/g,"%23");
// getBrowser().selectedTab = getBrowser().addTrustedTab('data:text/plain;charset=utf-8,' + datastring);
openTrustedLinkIn('data:text/plain;charset=utf-8,' + datastring, "tab");
XULBrowserWindow.statusTextField.label = "Export nach »"+ OpenPath + "« ist erfolgt.";
} else {
// alert sorgt ein wenig dafür, dem OS Zeit fürs Speichern der Datei zu geben ...
alert("Export nach »"+ OpenPath + "« ("+ format + "-format) ist erfolgt.");
openTrustedLinkIn(OpenPath, "tab");
//getBrowser().selectedTab = getBrowser().addTrustedTab(OpenPath);
}
break;
default:
XULBrowserWindow.statusTextField.label = "Export nach »"+ OpenPath + "« ist erfolgt.";
break;
}
}
};
ADONLI.init();
Alles anzeigen
Mfg.
Endor
Ach so und ich dachte Du möchtest eine Änderung im Text oder so.
Wie schon von 2002Andreas geschrieben, habe alle beiden Dateien im
Anpassungen.zip bei Github aktualisiert.
Einen schönen Sonntag und Muttertag wünsche ich allseits.
Mfg.
Endor
Hallo milupo.
Wenn Du mir genau sagst was Du meinst und möchtest kann ich es gerne
bei Github hinzufügen.
Mfg.
Endor
Hihi
Auch von mir vielen Dank. Alles bestens wieder.
Funktioniert in Firefox 113, 114 Beta und 115 Nightly einwandfrei.
Nochmals vielen Dank!
Mfg.
Endor
Mira_Belle
Japanisch.
Nein kein Wort.
Aber wenn Du solange wie ich für loshombre der Scriptjäger
und übersetzter bist wie ich, dann kennst Du dich aus.
https://translate.google.de/?sl=auto&tl=de&op=translate ist bei mir angepinnt.
Mfg.
Endor