1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. aborix

Beiträge von aborix

  • Webseiten reload

    • aborix
    • 27. November 2018 um 09:38

    Nein, da geht es um etwas anderes.

    Versuche diesen Code:

    Code
    function request() {
      let req = new XMLHttpRequest();
      req.open('GET', location.href);
      req.onload = function() {
        if (req.status == 200) {
          location.reload(true);
        } else {
          setTimeout(request, 5000);
        };
      };
      req.send();
    };
    
    
    setTimeout(request, 60000);
    Alles anzeigen

    Wenn die Seite nicht verfügbar ist, wird es nach 5 Sekunden wieder versucht usw.

  • Webseiten reload

    • aborix
    • 26. November 2018 um 18:34

    Wie sieht der JS-Code aus?

  • Probleme mit Menüleiste in aktueller Nightly...

    • aborix
    • 24. November 2018 um 22:44

    Und wenn du in der Menüleiste nur die Menüs und sonst nichts hast?

  • Probleme mit Menüleiste in aktueller Nightly...

    • aborix
    • 24. November 2018 um 22:40

    Wenn ich neben 'Hilfe' flexible Zwischenräume einfüge, kann ich dort ziehen. In ein kleines Stück direkt rechts neben 'Hilfe' lässt sich kein Zwischenraum (und auch sonst nichts) einfügen und dort geht auch kein Ziehen.

  • Lesezeichen als json Datei mit Befehl sichern

    • aborix
    • 19. November 2018 um 23:20
    Zitat von aborix

    Wenn das Exportieren nicht funktioniert, kommt keine Fehlermeldung; daran arbeite ich noch.

    Es isr mir nicht gelungen, eine Fehlermeldung anzeigen zu lassen.

    Dazu muss man das Schließen etwas verzögern und das sollte mit AsyncShutdown machbar sein, aber es funktioniert nicht. Es könnte an einem Fehler in Firefox liegen, denn es gibt viele Bugreports dazu:
    https://bugzilla.mozilla.org/buglist.cgi?qu…=async+shutdown

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 18. November 2018 um 17:37

    Lass in den Einstellungen die Startseiten-Reihenfolge mal unverändert.
    Wenn browser.tabs.insertRelatedAfterCurrent auf false steht, setze es testweise auf true.
    Oder teste diesen Code:

    Code
    setTimeout(function() {
        let tab = gBrowser.selectedTab;
        let tab2 = gBrowser.duplicateTab(tab);
        gBrowser.moveTabTo(tab2, tab._tPos + 1);
        gBrowser.removeTab(tab);
      }, 1500);
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 18. November 2018 um 16:53

    Mit 500 ms funktioniert es bei mir auch nicht immer, mit 1 Sekunde schon. Mein Vorschlag: Teste in einem neuen Profil im normalen und abgesicherten Modus. Wenn im normalen Modus Seiten nicht zu sehen sind, teste mit dem Code aus #1976 mit Timeout-Werten bis zu 5 Sekunden.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 17. November 2018 um 10:16

    Wie ist es mit etwas Verzögerung, z.B. 500 ms:

    Code
    setTimeout(function() {
        let tab = gBrowser.selectedTab;
        gBrowser.duplicateTab(tab);
        gBrowser.removeTab(tab);
      }, 500);
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 16. November 2018 um 20:16

    Bei mir wird ab dem zweiten Fenster in dem Tab, der beim Öffnen des Fensters im Vordergrund ist, die Seite nicht angezeigt. Folgender Workaround scheint zu helfen; der Code kommt nach den CustomizableUI-Anweisungen hinzu:

    Code
    let tab = gBrowser.selectedTab;
      gBrowser.duplicateTab(tab);
      gBrowser.removeTab(tab);
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 14. November 2018 um 21:40

    Grundsätzlich: Wenn im Nightly etwas nicht funktioniert, insbes. Skripte, würde ich, ehe ich auf Fehlersuche gehe, erst einmal ein paar Versionen abwarten, ob das dann immer noch so ist.

    Vor ein paar Jahren war auf der MDN-Übersichtsseite über den Nightly noch zu lesen:

    Zitat


    Mozilla might crash on startup. It might delete all your files and cause your computer to burst into flames.

    :lol:

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 14. November 2018 um 20:09

    Update von ExtensionOptionsMenu.uc.js für Fx 65:

    CSS
    // ==UserScript==
    // @name          ExtensionOptionsMenu.uc.js
    // @description   Symbolleistenschaltfläche zur Add-ons-Verwaltung
    // @include       main
    // @charset       UTF-8
    // @version       3.1.6 Anpassung an Firefox 65 von aborix
    // @version       3.1.5 Deaktivieren der Erweiterungen mit Rechtsklick repariert von aborix
    // @version       3.1.4 Anpassung an Firefox 61+ von aborix
    // @version       3.1.2 Auf Grund von Problemen, wurde die Fensteranzeige der Erweiterungseinstellungen entfernt
    // @version       3.1.1 Öffnen des Erweiterungen-Ordners funktionierte nicht
    // @version       3.1.0 Unterstützt Fx 57 oder später. System Add-ons, konnten nicht deaktiviert werden
    // @version       3.0.10 Fx52以降で右クリック時に出る既存メニューを出ないように修正 (2ch該当スレより拝借)
    // @version       3.0.9 表示したくないアドオンを設定できるように(コメントアウト内の説明参照)、選択アドオンのidをAlt+左クリックでコピーできるように
    // @version       3.0.8 再起動に関する修正
    // @version       3.0.7 メニューにアイコンが出ていなかったのを修正
    // @version       3.0.6 互換性を考慮して書き換え デフォルトでボタンはカスタマイズパレットに配置
    // @version       3.0.5 ツールチップに操作法を表示するように コメントアウト内CSSを更新
    // @version       3.0.4 一部アドオンの設定画面が機能していなかったのを修正、メニューパネル内でドロップマーカーが出ないようにするCSSを追記
    // @version       3.0.3 ボタンをツールバーパレットから自由に配置できるように変更(メニューパネル内への配置にも対応 ※コメントアウト内のcssを追加するように)
    // ==/UserScript==
    /*
    
    
    Schaltflächensymbol:
    Linksklick: Erweiterungsliste anzeigen
    Mittelklick: Firefox neustarten
    Rechtsklick: Add-ons-Manager öffnen
    
    
    Erweiterungen:
    Linksklick: Erweiterungseinstellungen öffnen, wenn vorhanden
    Mittelklick: Internetseite der Erweiterung öffnen
    Rechtsklick: Erweiterungen aktivieren/deaktivieren
    Strg + Linksklick: Erweiterungsordner öffnen
    Strg + Mittelklick: Erweiterungs-ID in Zwischenablage kopieren
    Strg + Rechtsklick: Erweiterung entfernen / Deinstallation rückgängig machen
    *Nach Firefox-Neustart kann dies nicht mehr Rückgängig gemacht werden.
    
    
    Bei "blackListArray" in Zeile 50 können Add-ons, die nicht im Menü angezeigt werden sollen,
    mit der ID des Add-ons eingegeben werden. Sie können die ID mit Strg + Mittelklick kopieren.
    Einige Systemerweiterungen werden standardmäßig hinzugefügt.
    
    
    */
    
    
    'use strict';
    
    
    var EOM = {
    
    
    	showVersion:  true,    // Versionsinfo anzeigen (true = Versionsinfo anzeigen, false = nicht anzeigen)
    	showAll:      true,    // Alles anzeigen, auch bei Erweiterungen ohne Einstellungen
    	showDisabled: true,    // deaktivierte Erweiterungen anzeigen (deaktivierte Add-ons anzeigen)
    	autoRestart:  false,   // Firefox nach Installation bzw. Deinstallation automatisch neu starten
    	iconURL:      'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjbQg61aAAACkUlEQVQ4T43T60tTYRwH8HMQ9QQJRSBJ50xU8BL1QpJMsbxNc162edxcYlAoZdkFh6gZurF5WV6nc7M/oBdBb7q9DSPEVBDbZtN0c5tzNymolwXht2eDhVO0Dnx4Hn6/5/me8xx4KOqQR2rcYfjpIC81BpXiqWBnxUSgpWQ0kHrY+gN1xdOdu/XTQfDGIMSGAET6AMpG/TbhiD/uv0LqTYF7cmPgN2/wQzzhh2jMB+Gwz1I65I3/Z8A1o5eRTXqP85M+pVTv260Z86JieNtcMridXNjnZvI1Lia31xV7IIgf99AKg/e1wrAN+YQHtXoPJKNbqBrewlWdG6UDLlzRupCv3sTFns3vFx47SqJCFHoPoyAb5eNb4MlGyYgb1UNuiHQulPW7UKRx4rJqE5d6HMjpdiC7066mRFpHvFTnbCHuSJ84E+rIJumQExKdEzVE5YAT5RoHCnvsyO3aQHb7Os63rSHrwRoy76+qqErNBi/ut4PYrdFsKCWDDoj77CjvXUdu+yqyWleQcsuK5GYrBE0WcE0Wm6DZmsk1W7VEI1XRu6YUqb6gUh22W9BhQ8ZtCwQ3PoEjQuM+psi5SSBNCR/Zusq7bSju+IyMpmWwjUvgrh+hcWks6scVKs0tBQ/NSG5YBKtYNHOKRRxt4WUogKufTwmh8lqXU9MaFlY42UcLJ5tnOfk8yPwov0j/LfGNUIe/huXnYrm6uTiOn2UI7GEjcxMxTrwifu7rq6KOw0o+MAT2SI8sYGtnaVJ/s68fFUCfONd2jK2e+cFWv0dY1bu+mPiTocsTmyR8kU56X//2wmtmuiMvoMkkdEkEp3K0N08XPZsKScwzdNB0zFlSz0pIaxBG6mQ0JBU/1yXmm878AbFQoHrb98HyAAAAAElFTkSuQmCC',
    
    
    	blackListArray: [
    		"clicktoplay-rollout@mozilla.org",
    		"firefox@getpocket.com",
    		"screenshots@mozilla.org",
    		"followonsearch@mozilla.com",
    		"formautofill@mozilla.org",
    		"onboarding@mozilla.org",
    		"shield-recipe-client@mozilla.org",
    		"webcompat@mozilla.org",
    		"activity-stream@mozilla.org",
    		"presentation@mozilla.org",
    		"aushelper@mozilla.org",
    		"webcompat-reporter@mozilla.org",
    		"e10srollout@mozilla.org"
    	],
    
    
    	sort: {
    		enabled: 0,
    		disabled: 1
    			// 0, 0 - In alphabetischer Reihenfolge
    			// 0, 1 - Reihenfolge wie im Add-On-Manager
    	},
    
    
    	init: function() {
    		var style = `
    			@namespace url('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul');
    			#eom-button {
    				list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjbQg61aAAACkUlEQVQ4T43T60tTYRwH8HMQ9QQJRSBJ50xU8BL1QpJMsbxNc162edxcYlAoZdkFh6gZurF5WV6nc7M/oBdBb7q9DSPEVBDbZtN0c5tzNymolwXht2eDhVO0Dnx4Hn6/5/me8xx4KOqQR2rcYfjpIC81BpXiqWBnxUSgpWQ0kHrY+gN1xdOdu/XTQfDGIMSGAET6AMpG/TbhiD/uv0LqTYF7cmPgN2/wQzzhh2jMB+Gwz1I65I3/Z8A1o5eRTXqP85M+pVTv260Z86JieNtcMridXNjnZvI1Lia31xV7IIgf99AKg/e1wrAN+YQHtXoPJKNbqBrewlWdG6UDLlzRupCv3sTFns3vFx47SqJCFHoPoyAb5eNb4MlGyYgb1UNuiHQulPW7UKRx4rJqE5d6HMjpdiC7066mRFpHvFTnbCHuSJ84E+rIJumQExKdEzVE5YAT5RoHCnvsyO3aQHb7Os63rSHrwRoy76+qqErNBi/ut4PYrdFsKCWDDoj77CjvXUdu+yqyWleQcsuK5GYrBE0WcE0Wm6DZmsk1W7VEI1XRu6YUqb6gUh22W9BhQ8ZtCwQ3PoEjQuM+psi5SSBNCR/Zusq7bSju+IyMpmWwjUvgrh+hcWks6scVKs0tBQ/NSG5YBKtYNHOKRRxt4WUogKufTwmh8lqXU9MaFlY42UcLJ5tnOfk8yPwov0j/LfGNUIe/huXnYrm6uTiOn2UI7GEjcxMxTrwifu7rq6KOw0o+MAT2SI8sYGtnaVJ/s68fFUCfONd2jK2e+cFWv0dY1bu+mPiTocsTmyR8kU56X//2wmtmuiMvoMkkdEkEp3K0N08XPZsKScwzdNB0zFlSz0pIaxBG6mQ0JBU/1yXmm878AbFQoHrb98HyAAAAAElFTkSuQmCC');
    			}
    
    
    			.addon-disabled > .menu-iconic-left { filter: grayscale(1); }
    			.addon-disabled label { color: Gray !important; }
    			.addon-uninstall label { font-weight: bold !important; }
    			.addon-uninstall label:after { content: '-'; }
    
    
    			#eom-button[cui-areatype="menu-panel"],
    			toolbarpaletteitem[place="palette"] > #eom-button {
    				list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFHklEQVRYw8WXXYhd1RXHf+vcOxPj+JGYBow6M2rb1FISI77EkEDEB1GiEkdN24ciCYXSmtI+BBJBBdtEiYhCDCgkioIPmsSvByUY6BQ1pgi2Tj+gLU2aGUJJp5PpfNzcmXv3Xn8f9rlfmdwZkgm4YLEP+5y99n+v9V9r7WOS+CaleDGLNu79b29mehTjXonFEosEHdGpRteoi9Mh8l5w3uzfdu3p89m4bcdx/vjMzRcOoG/v6awjs5fM2CCBk1QSBhgszWB5wbTOjeV3Pvefn/9u2zJvZy+7UAALCra4YNyCoJ0qHwvwnaKx5BKHQFZfJ+WbKk1LjTkA0TGXtQv2QKXqkyH4V8hLyo8qCeT5mFTOeIw+UA0+cUkBHNy6bCpE/SxG/UquL+USDnKBK+3tOurRt4aoJ/t33DB1SULwo72nFgGGo05j7K2t1+978MVTtwKr5BhSLfZRUR8f2d79xl27Brvu3HlyUXRwCRd4JHMxBkQAm6sO/HDPqbuB7cD6mrsliAJhuDukw+cq3Mm/EdHB3RBOjAmERH8Uz37x25sPz+qBvheGso5idqk3J4r17gKYHUDR6ALW455zKzeS571yxje4J+QNMKlICJdQ4kcdrFzr5uSAQRF3FIVonKCWedTi2gQAb31ufEwqVJ5GicIMAH27T3wLoBp8/IPHv12RHNyIngA0ZRlOKwAElqPLcg9FgTt47gV3EWPC5K4GCe/9zb+6O4q2p5DZ9wFi1J+j9NjCThuTFc5GjyjtWI85ZvVnCaKLStWpBNU1OgQXMaoOuh42iCde+UGxmFyjzZl4wPMAG9yYuX94YNt3X924+zgKyYDRcGWIolJxShWnXBFTFacaEwld6dTJ1wCcMGOX4G/AL4AfQ3MI3O+JWDKehk4Tj93/9D9WZcUCeGo0LnF2OjJRFpPlyFTVCVFoJneStcaLl7HstcF9K2LvloEB4H1gaR2AXItjDhjLR1gFrPQQVY2yibOR/5cipelYj6PlgG32GnYGs4GT+1ZEgJP7V072bhk4UKvCNQBLlPvecjdkGRaqKoyVIiOTgXLFcUFmTSdsEHw2mQSVmidO7l+p3s1fxToAd3VYk/+EmJiMDI8HJsspl7LMUtAu/AJVBcKMnloqN3pBCD6dAZYlNo+OR0YmqoSYNjYjlb+Lkw5QcdZm5CGOWGZLQ4Dh8Sqj4wEDChkBV4E5wzyrLEK6os3eIQGI/j+5MTJWZXQiYIkDnyGOYPZUSvyLlqtAq4GPAHo2HbsO2AgsAZ7OQ6D3y9Nh7ehEIEt1IeI8P/j26nd7Nv3hKeZ/c/5pzyPHpoF/Aj8BNuTzCUA16PXxydBL9FusADh/Aft9z0NHu8iyVE/nJ8uAnefMzbwPdPcdXZoXotHBg2tCT9+ni7HsTF6H2+c5TOQGi8DVuc4lcfDQ2mILO4cOrRluSRVJRn7XmynHwfab8SVQagJwpeAOpEeB6+f3Y+JCGbQh4c6h99a9er4X3Q9+ehhXCdg1v1uxWpr9ufrXdsuG3lkbkP7eZl1D5wTgylquMa36y+77+s8b6+77+rtxbW6zrqaF8wKwJAUz6xz+/NcVYvikzS/Qw14Zu7/zqpuuMLPLa1q87JouD6WHQHcz2+8TGjIzK567eQ7qMuDK6ZE/dU0Nf/HGgmtWLLBs4e35u1pKdMTy8Pfi1MiNtZRKjS0UvHzmpqxrYbF5vkkKyP/tofQEkLWk4bkAgK5Uy+dViltYlTens8A4MPU1jYiz7Re8VU8AAAAASUVORK5CYII=');
    			}
    		`;
    
    
    		style = style.replace(/\s+/g, " ");
    		var sspi = document.createProcessingInstruction(
    			'xml-stylesheet',
    			'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
    		);
    		document.insertBefore(sspi, document.documentElement);
    		sspi.getAttribute = function(name) {
    			return document.documentElement.getAttribute(name);
    		};
    
    
    		const XUL_NS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
    
    
    		try {
    			CustomizableUI.createWidget({
    				id: 'eom-button',
    				type: 'custom',
    				onBuild: function(aDocument) {
    					var toolbaritem = aDocument.createElementNS(XUL_NS, 'toolbarbutton');
    					var attributes = {
    						id: 'eom-button',
    						class: 'toolbarbutton-1 chromeclass-toolbar-additional',
    						type: 'menu',
    						label: 'Extension Options Menu',
    						tooltiptext: 'Extension Options Menu\n\nLinksklick: Erweiterungsliste anzeigen\nMittelklick: Firefox neu starten\nRechtsklick: Add-ons-Manager öffnen',
    						oncontextmenu: 'return false'
    					};
    					for (var a in attributes) {
    						toolbaritem.setAttribute(a, attributes[a]);
    					};
    					return toolbaritem;
    				}
    			});
    		} catch(e) { };
    
    
    		var btn = document.getElementById('eom-button');
    		btn.addEventListener('click', EOM.iconClick);
    
    
    		var mp = btn.appendChild(document.createElementNS(XUL_NS, 'menupopup'));
    		mp.setAttribute('id', 'eom-button-popup');
    		mp.setAttribute('onclick', 'event.preventDefault(); event.stopPropagation();');
    		mp.addEventListener('popupshowing', (event) => EOM.populateMenu(event));
    
    
    		function copyList() {
    			AddonManager.getAddonsByTypes(["extension"]).then(function(extensions) {
    				Cc['@mozilla.org/widget/clipboardhelper;1'].getService(Ci.nsIClipboardHelper).copyString(extensions.map(function(item, id) {
    					return (id + 1 + ". " + item.name + " [" + item.version + "]" + "\nID:" + item.id);
    				}).join("\n"));
    			});
    
    
    			var alertsService = Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService);
    			alertsService.showAlertNotification(null, null, "Add-ons-Liste in die Zwischenablage kopiert.", null, null, null, "copyList");
    			setTimeout(function() {
    				alertsService.closeAlert("copyList");
    			}, 5000);
    		};
    
    
    		var mMenus = [
    			{
    				alabel: 'Firefox neu starten',
    				label: 'Script-Cache löschen',
    				image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgElEQVQ4jY2RfUzMARjHv7tODnmJOxGm3LnKe3fnoh+W184ypjmZpZrQFLOSstns5g/cIXq9fuqQUd4tx0jFcLVRrSxNNE2bsUYY5Sr09Y9u2Nz6/vk83+ez5/s8gBvFAbKCUKw7Hz6o3KrDDHfev5Qmx/BCAVvKklR1b8rSWHMovM+ignJAw6IeEZU7FC3tNxeSjWvJF8l8Z0/tu5eyqKloiWd6MjDELcCqg/5hqk8bm8LIulCyQiCrjGRVCjuupbN04+Tygyoo3EIypkNVluDd0OsIJe+F8KV5IjtFFXkhnM7iRF5eM+aaEfBwDeTpEGDVQcgLwTyTAl4AIGqhrNg+uvlzaTBti3D0nEGa2W6ZRNoW87VpAfPnwuAC2I1eLa3FMT8cphVOUQtNfz1XA1XJqkH3bQJWAkBJhMcZ54mp/Hl4Fq8aPM+5AFUxsi42JLFR3PwtQ40J/ySShAHS31sFPt873smjKjqihr5yOSo3DH7NO2vZkm/8njUb+v/dJg6Q1e6Sv2FOIOs3jfzqalxYjlM/CrXsvrWVxSs9TwFAjh7q0wKsohbyft8RJcZWJ4zp+nTAj4/WD/v45+vCWtN9SHsk2zINLJiPvVYdNjRbo2mP9X9i8cM4ADAp4FUoINYmIP6kgNV/5bwaIS3tOaEmr0Tybe5qPtg553N3dRa/1Yi8ETvNYQ6A7/+iAQDMAfC9bZQ97jT7k0ULyevR5KUo8qzAnrt7WJ6oeSpqMdMtRNRCXrJMkl27bWTHh/3jfzJDSWb4s/eYmg37QliwALvdAvplCcJUR8yI953mKayP9/5ycRls2cHQAZAMCGDyw6grBumz4qUS83ENgtx5fwEzyhRmLMK7zwAAAABJRU5ErkJggg==",
    				oncommand: "Services.appinfo.invalidateCachesOnRestart() || BrowserUtils.restartApplication();",
    				style: "min-width: 260px;"
    			},
    			{
    				label: "Erweiterungsordner öffnen",
    				image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADEElEQVQ4jY2RXUiTcRjF/9JFpBAapk5NnWzzI5vTbb5uuunrtFm5XCpi7tVEs0zU9aFFk6wmiV9RfrRqkRgZhVIZSjXUNDPCmaamlZQQ0gdFVxGFbu10paXzonN5Hs6P5zkPISsVniYjArXAzv8vceVyIi8A71g7hNW9k56eQsfFEYeQtUlOzqFJ69dzV4uuIbw4LxLB7CCyfNDGccgujcE9rqgvM4D6ZAjmvKjm+HYUbWShLYxn65Rsfro87iHwI9H5YBUYsankGqQXnkNycQyBlSaIK+7i6x4pblFBn/e6usMUswVP4vgzjKMr6y/ANYhFonIR1WxGTMsrSI2TEBnGwG8cgUjfjY+7JeiL5eM8zx/jieEYUYThPhVireP6Zi4iHEhk9im/Q20vvAuvQNBoRkjDMJry9mM0NRrv0yi8U0fgTZIIU4lCjNECm1kuQDXbh/m7RVzxARJ/pJLI8uF3oguc+iG0ZqSiR03jbbIYw2oRLhdSMCvCYIoIfqZycfH5twUHIs1d2LDXgI3F1+Bf8xjeVf1w1/fAu/QmprcJUX9UCk27EvcSQtEZHjRo94Z18qwPXsc64FczCK8zj+B2+iHoWiNS9BVo04hwSB+FlNZ45FRIoaigPtgBjuZtvlXZUIDx4cNIb2rGhvJOfDFrYOpVIePmVqS0JkBlVEDZSEN8Ujy7FExRurIMx0N0tdrA0S5jPKxzJdA0n4OHrg1fzAxeDqpxp0sJ7VUaygYa7JKA64SQNUuAg7t9yw06PoY7d+F1vwbWuRL8nNmHH1M5sEwzmJ9Ih2VUDX1LLGJrYsDRhsAjj3t7CcAkuYW2N9LfrF91sH4qg3VOC8tsAb5PZMMyzWDApMLOszLIqmQ2ySkZhMejEFAknFx2/8EsbtCD1sSpoY5kWOe0MF2NHzhTxPv9a1KD+907EK4T2/ilIoSWRdrc0tmMk8Rli12JRzTstK4rCfML74ttN+qo5NIstqq3ha46fThY4Ug7J7MY7rfgYspCBM7OduFFZW/34uWm+vivOgxw9HSiXPgr7T+DX3N5gyCN2AAAAABJRU5ErkJggg==",
    				oncommand: "FileUtils.getFile('ProfD', ['extensions']).reveal();"
    			},
    			{
    				label: "Add-ons-Liste in die Zwischenablage kopieren",
    				image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABlSURBVDhP5Y5BCsAgEAP3i/1AP+D/zxUlwWBXXQueOhAQzQStcN3p2UmVFK80C7QGH1aEBniOBPqhgRnsQB8P8KzRe+i/+YHCO+htQNPjdaB/G4D6hoWekFzQohfUxngSg4pglgGUsQ0ZR4jGSwAAAABJRU5ErkJggg==",
    				oncommand: '(' + copyList.toString() + ')()'
    			}
    		];
    
    
    		var menugroup = mp.appendChild($C("menugroup", {
    			id: "eom-menugroup"
    		}));
    		mp.appendChild($C('menuseparator'));
    
    
    		for (let i = 0, menu; menu = mMenus[i]; i++) {
    			menugroup.appendChild($C("menuitem", {
    				label: menu.alabel,
    				tooltiptext: menu.label,
    				image: menu.image,
    				class: "menuitem-iconic",
    				oncommand: menu.oncommand,
    				style: menu.style || "max-width: 10px;"
    			}));
    		};
    
    
    		function $C(name, attr) {
    			var el = document.createElement(name);
    			if (attr) {
    				Object.keys(attr).forEach(function(n) {
    					el.setAttribute(n, attr[n]);
    				});
    			};
    			return el;
    		};
    	},
    
    
    	populateMenu: function(event) {
    		var prevState;
    		var showItem = true;
    
    
    		var popup = event.target;
    		if (popup !== event.currentTarget) {
    			return;
    		}
    
    
    		while (popup.childElementCount > 2) {
    			popup.removeChild(popup.lastChild);
    		}
    
    
    		var addons;
    		AddonManager.getAddonsByTypes(['extension']).then(function(aAddons) {
    			addons = aAddons;
    		});
    
    
    		var thread = Services.tm.mainThread;
    		while (addons === void 0) {
    			thread.processNextEvent(true);
    		}
    
    
    		addons.sort((a, b) => {
    			var ka = this.key(a);
    			var kb = this.key(b);
    			return (ka < kb) ? -1 : 1;
    		}).forEach((addon) => {
    			if (!addon.appDisabled && ((addon.isActive && addon.optionsURL)
    				 || ((addon.userDisabled && this.showDisabled)
    				 || (!addon.userDisabled && this.showAll)))) {
    				var state = addon.isActive;
    				if (this.sort.disabled === 1 && (prevState && state !== prevState)) {
    					popup.appendChild(document.createElement('menuseparator'));
    				}
    				prevState = state;
    
    
    				var mi = document.createElement('menuitem');
    				var label = addon.name;
    				if (this.showVersion) label = label += ' ' + '[' + addon.version + ']';
    				mi.setAttribute('label', label);
    				mi.setAttribute('class', 'menuitem-iconic');
    				mi.setAttribute('tooltiptext', 'ID: ' + addon.id + '\nGröße: ' + Math.floor(addon.size / 1024) + ' KB' + '\n\nLinksklick = Add-on-Einstellungen öffnen\nMittelklick = Add-on-Homepage öffnen\nRechtsklick = Add-on aktivieren / deaktivieren\nStrg + Linksklick = Add-on-Ordner öffnen\nStrg + Mittelklick = Add-on ID kopieren\nStrg + Rechtsklick = Add-on deinstallieren *\n* Diese Aktion kann nicht rückgängig gemacht werden.');
    				var icon = addon.iconURL || addon.iconURL64 || this.iconURL || '';
    				mi.setAttribute('image', icon);
    				mi.addEventListener('click', (event) => this.handleClick(event));
    				mi._Addon = addon;
    
    
    				if (!addon.optionsURL && addon.isActive) {
    					mi.setAttribute('style', 'color: Gray');
    				}
    				if (!addon.operationsRequiringRestart) {
    					mi.setAttribute('style', 'color: Green');
    				}
    
    
    				this.setDisable(mi, addon.userDisabled);
    				this.setUninstall(mi, this.isPending(addon));
    
    
    				if (this.blackListArray) {
    					for (var i = 0; i < this.blackListArray.length; i++) {
    						if (this.blackListArray[i] == addon.id.toLowerCase()) {
    							showItem = false;
    							break;
    						} else {
    							showItem = true;
    						}
    					}
    				}
    				if (showItem) popup.appendChild(mi);
    			}
    		});
    	},
    
    
    	iconClick: function(event) {
    		if (event.target !== event.currentTarget) {
    			return;
    		}
    		if (event.button === 1) {
    			EOM.restart();
    		} else if (event.button === 2) {
    			BrowserOpenAddonsMgr('addons://list/extension');
    		}
    	},
    
    
    	handleClick: function(event) {
    		var mi = event.target;
    		if (mi !== event.currentTarget) {
    			return;
    		}
    		if (!('_Addon' in mi)) {
    			return;
    		}
    
    
    		var addon = mi._Addon;
    		var pending = this.isPending(addon);
    		var hasMdf = event.ctrlKey || event.shiftKey || event.altKey || event.metaKey;
    
    
    		switch (event.button) {
    			case 0:
    				if (addon.optionsURL && !hasMdf) {
    					this.openAddonOptions(addon);
    				} else if (event.ctrlKey) {
    					this.browseDir(addon);
    				}
    				break;
    			case 1:
    				if (addon.homepageURL && !hasMdf) {
    					openURL(addon.homepageURL);
    				} else if (event.ctrlKey) {
    					Cc['@mozilla.org/widget/clipboardhelper;1'].getService(Ci.nsIClipboardHelper).copyString(addon.id);
    				}
    				break;
    			case 2:
    				if (!hasMdf) {
    					var stateDisabled = !addon.userDisabled;
    					stateDisabled ? addon.disable() : addon.enable();
    					this.setDisable(mi, stateDisabled);
    					if (addon.operationsRequiringRestart && this.autoRestart) {
    						EOM.restart();
    					}
    				} else if (event.ctrlKey) {
    					if (pending) {
    						addon.cancelUninstall();
    					} else {
    						addon.uninstall();
    					}
    					this.setUninstall(mi, pending);
    				}
    				break;
    		}
    	},
    
    
    	setDisable: function(mi, dis) {
    		var cls = mi.classList;
    		dis ? cls.add('addon-disabled') : cls.remove('addon-disabled');
    	},
    
    
    	setUninstall: function(mi, uninst) {
    		var cls = mi.classList;
    		uninst ? cls.add('addon-uninstall') : cls.remove('addon-uninstall');
    	},
    
    
    	isPending: function(addon) {
    		return addon.pendingOperations & AddonManager.PENDING_UNINSTALL;
    	},
    
    
    	openAddonOptions: function(addon) {
    		var optionsURL = addon.optionsURL || '';
    		if (!addon.isActive || !optionsURL) {
    			return;
    		}
    		switch (Number(addon.optionsType)) {
    			case 3:
    				"switchToTabHavingURI" in window ? switchToTabHavingURI(optionsURL, true) : openTab("contentTab", { contentPage: optionsURL });
    			break;
    			default:
    				openDialog(optionsURL, addon.name, 'chrome,titlebar,toolbar,resizable,scrollbars,centerscreen,dialog=no,modal=no');
    		}
    	},
    
    
    	browseDir: function(addon) {
    		var dir = Services.dirsvc.get('ProfD', Ci.nsIFile);
    		var nsLocalFile = Components.Constructor('@mozilla.org/file/local;1', 'nsIFile', 'initWithPath');
    		dir.append('extensions');
    		dir.append(addon.id);
    		var fileOrDir = dir.path + (dir.exists() ? '' : '.xpi');
    		try {
    			new nsLocalFile(fileOrDir).reveal();
    		} catch (e) {
    			var addonDir = /.xpi$/.test(fileOrDir) ? dir.parent : dir;
    			try {
    				if (addonDir.exists()) {
    					addonDir.launch();
    				}
    			} catch (e) {
    				var uri = Services.io.newFileURI(addonDir);
    				var protSvc = Cc['@mozilla.org/uriloader/external-protocol-service;1'].getService(Ci.nsIExternalProtocolService);
    				protSvc.loadUrl(uri);
    			}
    		}
    	},
    
    
    	key: function(addon) {
    		var sort = this.sort;
    		var sortPos = addon.isActive ? sort.enabled : sort.disabled;
    		return sortPos + '\n' + addon.name.toLowerCase();
    	},
    
    
    	restart: BrowserUtils.restartApplication
    
    
    };
    
    
    if (location == 'chrome://browser/content/browser.xul')
    	EOM.init();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 13. November 2018 um 01:41
    Zitat von milupo


    bei mir funktioniert im Nightly das Skript BackupProfile.uc.js nicht mehr.

    Das funktioniert bei mir ebenfalls in allen Fx-Versionen. Der Nightly ist der englische mit der Build ID 20181112100105.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 12. November 2018 um 22:17
    Zitat von milupo


    Deswegen habe ich zum Testen ein neues Profil angelegt, da habe ich doch nicht mehr an diese Einstellungen gedacht.

    Ist mir auch schon passiert, vielleicht habe ich deswegen gleich daran gedacht. :)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 12. November 2018 um 21:45

    browsertoolbox.uc.js funktioniert bei mir in Fx 63 - 65.
    Diese Voraussetzungen:
      devtools.chrome.enabled;true
    devtools.debugger.remote-enabled;true
    devtools.debugger.prompt-connection;false
     sind erfüllt?

  • Lesezeichen als json Datei mit Befehl sichern

    • aborix
    • 11. November 2018 um 19:55

    Ersetze

    Code
    const path = "C:\\Users\\BenutzerA\\Downloads\\bookmarks.json";

    durch

    Code
    const path = OS.Path.join(OS.Constants.Path.homeDir, "Downloads", "bookmarks.json");

    oder

    Code
    const path = OS.Constants.Path.homeDir + "\\Downloads\\bookmarks.json";
  • Bildschirmfoto Button

    • aborix
    • 9. November 2018 um 18:38

    Ausschnitte gehen nicht. Habe ich versucht, ist mir bis jetzt nicht gelungen. Nur der im Fenster sichtbare Teil anstatt der ganzen Seite ist aber möglich. Dazu kommen die Kommentarzeichen von Zeile 34 weg und in Zeile 35 hinzu. Also das:

    Code
    /*  document.querySelector('button.visible').click();  */
                document.querySelector('button.full-page').click();

    wird ersetzt durch

    Code
    document.querySelector('button.visible').click();
                /*  document.querySelector('button.full-page').click();  */

    Wichtig: Kommentieren mit // funktioniert hier nicht. Es muss mit /* ... */ sein.

  • Bildschirmfoto Button

    • aborix
    • 9. November 2018 um 18:10

    Testet bitte folgendes Skript für Fx 63. Der Screenshot sollte sofort gespeichert werden und die Anleitung sollte nicht erscheinen.

    Code
    // Screenshot Fx 63
    
    
    (function() {
      if (location != 'chrome://browser/content/browser.xul')
        return;
      try {
        CustomizableUI.createWidget({
          id: 'screenshot-button',
          defaultArea: CustomizableUI.AREA_NAVBAR,
          label: 'Screenshot',
          tooltiptext: 'Screenshot',
          onCommand: onCommand,
          onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAdUlEQVQokZVSwRHAIAgLPYfoXs7RCTpG53Avt7APrhaFU8gLMEEJAkEQgFbc7IxkVjt0r6Sp7VIVITumBpKt00FA2ThmjXzkfMMWO8EZFSj8LrUyjsG9b9DaJXq+qAIVxEUxtLHpaXE95dj1NcK2rmbwaGJ4Af0tIg00j/6iAAAAAElFTkSuQmCC)';
          }
        });
      } catch(e) { };
    
    
      function onCommand(event) {
        let frameScript = function() {
          const string = 'moz-extension://';
          let n = 0;
          addEventListener('DOMContentLoaded', function onLoad(event) {
            content.setTimeout(function() {
              let document = event.target;
              if (!document.URL.startsWith(string))
                return;
              if (document.getElementById('slide-overlay')) {
                document.getElementById('skip').click();
                return;
              };
              n++;
              if (n == 2) {
                /*  document.querySelector('button.visible').click();  */
                document.querySelector('button.full-page').click();
              } else if (n == 3) {
                removeEventListener('DOMContentLoaded', onLoad);
                document.querySelector('button.highlight-button-download').click();
              };
            }, 100);
          });
        };
    
    
        let frameScriptURI = 'data:, (' + frameScript.toString() + ')()';
        let window = event.target.ownerGlobal;
        window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
        let button = window.document.getElementById('pageAction-panel-screenshots');
        if (button) {
          button.click();
        } else {
          window.document.getElementById('pageActionButton').click();
          window.setTimeout(function() {
            window.document.getElementById('pageAction-panel-screenshots').click();
          }, 0);
        };
      };
    
    
    })();
    Alles anzeigen
  • *.cfg wird nicht geladen

    • aborix
    • 9. November 2018 um 07:39

    Die Fehlermeldung bezieht sich auf diese Zeile:

    Code
    //huenersdorff firefox config - hier nichts aendern

    Vielleicht wird die Zeile nicht als Kommentarzeile erkannt, warum auch immer. Ersetze sie testweise durch eine Zeile mit nur den zwei Schrägstrichen oder durch eine Leerzeile oder lass sie überhaupt weg. Die erste Zeile der autoconfig.js braucht keine Kommentarzeile zu sein, das gilt nur für die mozilla.cfg.

  • Lesezeichen als json Datei mit Befehl sichern

    • aborix
    • 8. November 2018 um 22:15
    Zitat von Speravir


    Was ist, wenn ich erstmal nur exportieren will? Reicht es, im Skript etwas auszukommentieren? Wenn ja, was?

    Diesen Teil auskommentieren:

    Code
    BookmarkJSONUtils.importFromFile(path, {replace: true})
                .then(
                  () => OS.File.remove(path),
                  () =>
                    setTimeout(() => {
                      let window = Services.wm.getMostRecentWindow('navigator:browser');
                      window.alert("Das Importieren der Lesezeichen ist fehlgeschlagen.");
                    }, 1000)
                );
  • Bildschirmfoto Button

    • aborix
    • 7. November 2018 um 21:00

    Für Fx 64 muss wieder etwas geändert werden.

    Code
    'pageAction-panel-screenshots'


    wird zweimal ersetzt durch

    Code
    'pageAction-panel-screenshots_mozilla_org'

    Im Skript aus #28 ist das in den Zeilen 42 und 48.

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon