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. sam2008

Beiträge von sam2008

  • Datenschutzhinweis auf Google

    • sam2008
    • 11. September 2020 um 12:13

    Hallo Zusammen,

    ich habe diese Code in UserChrome.css hinzugefügt. Das Problem ist Popup kommt wieder, wieso?

    Code
    www.google.de###lb
    www.google.de##html:style(overflow: auto !important;)
    www.google.com###lb
    www.google.com##html:style(overflow: auto !important;)
    images.google.de###lb
    images.google.de##html:style(overflow: auto !important;)
    images.google.com###lb
    images.google.com##html:style(overflow: auto !important;)

    Mfg

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 12. August 2020 um 07:12

    Moin Endor,

    herzliche Dank, hat perfekt funktioniert. :thumbup::)

    Mfg

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 11. August 2020 um 11:08

    Hallo Endor,

    ich habe eine kleine Probleme mit printpreview.uc.js.

    Wenn ich Firefox starte, Icon ist in linke Seite, aber wenn ich Druckvorschau klicke und dann schlisse, kommt in rechte Seite bis Firefox beenden und wieder starte, nur passiert bei Druckvorschau. Mit 68 ESR Version, hatte nicht diese Probleme.

    Kannst du bitte helfen?

    Vielen Dank

    Mfg

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 13. Juli 2020 um 20:03

    Endor,

    vielen herzlichen Dank für Tipp. :thumbup::thumbup::thumbup:

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 13. Juli 2020 um 12:14

    Endor,

    vielen herzlichen Dank, hat funktioniert. :thumbup::thumbup::thumbup:

    2002Andreas,

    du hast recht, aber wir dürfen nur ESR Version für Users vorbereiten.

    MFG

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 13. Juli 2020 um 11:49

    Hallo Endor,

    ich habe gemacht aber kommt so, keine PrintPriview icon:

    Mit 68 ESR:

    Rechte Klick:

    Mit 68 ESR:

    Rechte klick auf Link:

    Mit 68 ESR:

    Als Info:

    Meine UserChrome.js:

    Code
    userChrome.ignoreCache = true;
    userChrome.import("*", "UChrm");

    In meine Config.js habe diese Teil:

    Code
    const Cu = Components.utils;
    
    try {
    
        Cu.import("resource://gre/modules/Services.jsm");
        Cu.import("resource://gre/modules/osfile.jsm");
    
        if (!Services.appinfo.inSafeMode) {
            let path = OS.Constants.Path.libDir;
            if (Services.appinfo.OS == 'Darwin') {  // macOS
                path = OS.Path.join(OS.Path.dirname(path), "Resources");
            };
            var ucjsDirPath = OS.Path.join(path, "userChromeJS");
            path = OS.Path.join(ucjsDirPath, "main.js");
            let mainFileURI = OS.Path.toFileURI(path);
            Services.scriptloader.loadSubScript(mainFileURI, this, "UTF-8");
        };
    
    } catch(e) {
        Cu.reportError(e);
    };
    Alles anzeigen

    Ich habe eine Ordner userChromeJS in Pfad C:\Program Files (x86)\Mozilla Firefox\ und sind 2x Datei in diese Ordner:

    main.js:

    Code
    Cu.import("resource://gre/modules/FileUtils.jsm");
    
    let UserChrome_js = {
    
      init: function() {
        Services.obs.addObserver(this, "final-ui-startup", false);
        Services.obs.addObserver(this, "domwindowopened", false);
      },
    
      // observer
      observe: function(aSubject, aTopic, aData) {
        switch (aTopic) {
          case "final-ui-startup":
            let path = OS.Constants.Path.profileDir;
            let ucFilePath = OS.Path.join(path, "chrome", "userChrome.js");
            let ucFile = new FileUtils.File(ucFilePath);
            if (!ucFile.exists()) {
              let path = OS.Path.join(ucjsDirPath, "Readme.txt");
              let readmeFile = new FileUtils.File(path);
              readmeFile.copyTo(ucFile.parent, "userChrome.js");
            };
            if (ucFile.exists() && ucFile.isFile()) {
              let path = OS.Path.join(ucjsDirPath, "utilities.js");
              this.utilFileURI = OS.Path.toFileURI(path);
              this.ucFileURI = OS.Path.toFileURI(ucFilePath);
    //        Services.obs.addObserver(this, "domwindowopened", false);
            };
            Services.obs.removeObserver(this, "final-ui-startup");
            break;
    
          case "domwindowopened":
            aSubject.addEventListener("load", this, {capture: true, once: true});
            break;
        }
      },
    
      // event listener for load
      handleEvent: function(aEvent) {
        let document = aEvent.originalTarget;
        let window = document.defaultView;
        if (document.location && document.location.protocol == "chrome:") {
          try {
            Services.scriptloader.loadSubScript(this.utilFileURI, window, "UTF-8");
            Services.scriptloader.loadSubScript(this.ucFileURI, window, "UTF-8");
          }
          catch (ex) {
            // script execution can be stopped with |throw "stop";|
            if (ex != "stop") {
              Cu.reportError(ex);
            }
          }
        };
      }
    
    };
    
    UserChrome_js.init();
    Alles anzeigen

    utilities.js:

    Code
    var userChrome = {
    
      path: null,
      dirToken: null,
      ignoreCache: false,
    
      get loadOverlayDelay () {
        if (!this._loadOverlayDelay)
          this._loadOverlayDelay = 500;
        return this._loadOverlayDelay;
      },
    
      set loadOverlayDelay(delay) {
        this._loadOverlayDelay = delay;
      },
    
      get loadOverlayDelayIncr() {
        if (!this._loadOverlayDelayIncr)
          this._loadOverlayDelayIncr = 1600;
        return this._loadOverlayDelayIncr;
      },
    
      set loadOverlayDelayIncr(delay) {
        this._loadOverlayDelayIncr = delay;
      },
    
      import: function(aPath, aRelDirToken) {
        let file;
        this.path = aPath;
        this.dirToken = aRelDirToken;
    
        if (aRelDirToken) {
          // Relative file
          let absDir = this.getAbsoluteFile(aRelDirToken);
          if (!absDir)
            return;
          let pathSep = absDir.path.match(/[\/\\]/)[0];
          file = absDir.path + (aPath == "*" ?
              "" : pathSep + aPath.replace(/[\/\\]/g, pathSep));
        }
        else
          // Absolute file
          file = aPath;
    
        file = this.getFile(file);
        if (!file)
          return;
        if (file.isFile()) {
          if (/\.js$/i.test(file.leafName))
            this.loadScript(file, aRelDirToken, null);
          else if (/\.xul$/i.test(file.leafName)) {
            let xul_files = [];
            xul_files.push(file);
            this.loadOverlay(xul_files, this.dirToken, null, this.loadOverlayDelay);
    //      this.loadOverlayDelay = this.loadOverlayDelay + this.loadOverlayDelayIncr;
          }
          else
            this.log("File '" + this.path +
                     "' does not have a valid .js or .xul extension.", "userChrome.import");
        }
        else if (file.isDirectory())
          this.importFolder(file);
        else
          this.log("File '" + this.path +
                   "' is neither a file nor a directory.", "userChrome.import");
      },
    
      loadScript: function(aFile, aFolder, aRelDirToken) {
        setTimeout(function() {
          Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
                    .getService(Components.interfaces.mozIJSSubScriptLoader)
                    .loadSubScriptWithOptions(userChrome.getURLSpecFromFile(aFile),
                                              {target: window,
                                               charset: userChrome.charSet,
                                               ignoreCache: userChrome.ignoreCache});
          // log it
          userChrome.log(aRelDirToken ? ("[" + aRelDirToken + "]/" +
              (aFolder && aFolder != "*" ? aFolder + "/" : "") + aFile.leafName) :
              aFile.path, "userChrome.loadScript");
        }, 0);
      },
    
      // XXX: Due to bug 330458, an overlay must finish before another can be
      // called, otherwise neither are successful.  Implementing an observer to
      // serialize is better left as a fix in the core bug.  Here, settimout values
      // are set to minimize but there is no quarantee; overlay cdata (if any)
      // needs to consider overlay completions and logging does not strictly mean
      // an overlay has completed, rather that the overlay file has been invoked.
    
      loadOverlay: function(aFiles, aRelDirToken, aFolder, aDelay) {
    //userChrome.log(aDelay+" multiple import delay", userChrome.loadOverlay);
        // Increment multiple import delay
        this.loadOverlayDelay = this.loadOverlayDelay + this.loadOverlayDelayIncr;
        setTimeout(function() {
          if (aFiles.length > 0) {
    //userChrome.log(userChrome.loadOverlayDelay+" inter folder delay", userChrome.loadOverlay);
            // log it
            userChrome.log(aRelDirToken ? ("[" + aRelDirToken + "]/" +
                (aFolder && aFolder != "*" ? aFolder + "/" : "") + aFiles[0].leafName) :
                aFiles[0].path, "userChrome.loadOverlay");
            document.loadOverlay(userChrome.getURLSpecFromFile(aFiles.shift()), null);
            setTimeout(arguments.callee, userChrome.loadOverlayDelay);
          }
        }, aDelay);
      },
    
      // Include all files ending in .js and .xul from passed folder
      importFolder: function(aFolder) {
        let files = aFolder.directoryEntries
                           .QueryInterface(Components.interfaces.nsISimpleEnumerator);
        let xul_files = [];
    
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Components.interfaces.nsIFile);
          if (/\.js$/i.test(file.leafName) && file.leafName != "userChrome.js")
            this.loadScript(file, this.path, this.dirToken);
          else if (/\.xul$/i.test(file.leafName)) {
            xul_files.push(file);
          }
        }
    
        if (xul_files.length > 0)
          this.loadOverlay(xul_files, this.dirToken, this.path);
      },
    
      getFile: function(aPath, aRelDirToken) {
        try {
          let file = Components.classes["@mozilla.org/file/local;1"]
                               .createInstance(Components.interfaces.nsIFile);
          file.initWithPath(aPath);
          // Bad file doesn't throw on initWithPath, need to test
          if (file.exists())
            return file;
          this.log("Invalid file '" + this.path + (this.dirToken ?
              ("' or file not found in directory with token '" + this.dirToken) :
              "") + "' or other access error.", "userChrome.getFile");
        }
        catch (e) {
          // Bad folder throws on initWithPath
          this.log("Invalid folder '" + this.path + (this.dirToken ?
              ("' or folder not found in directory with token '" + this.dirToken) :
              "") + "' or other access error.", "userChrome.getFile");
        }
        return null;
      },
    
      getAbsoluteFile: function(aRelDirToken) {
        try {
          let absDir = Components.classes["@mozilla.org/file/directory_service;1"]
                                 .getService(Components.interfaces.nsIProperties)
                                 .get(aRelDirToken, Components.interfaces.nsIFile);
          return absDir;
        }
        catch (e) {
          this.log("Invalid directory name token '" + this.dirToken +
                   "' or directory cannot be accessed.", "userChrome.getAbsoluteFile");
          return null;
        }
      },
    
      getURLSpecFromFile: Components.classes["@mozilla.org/network/io-service;1"]
                                    .getService(Components.interfaces.nsIIOService)
                                    .getProtocolHandler("file")
                                    .QueryInterface(Components.interfaces.nsIFileProtocolHandler)
                                    .getURLSpecFromFile,
    
      /* Console logger */
      log: function(aMsg, aCaller) {
        Components.classes["@mozilla.org/consoleservice;1"]
                  .getService(Components.interfaces.nsIConsoleService)
                  .logStringMessage(this.date + " userChromeJS " +
                                    (aCaller ? aCaller +": " : "") + aMsg);
      },
    
      get dateFormat() {
        if (!this._dateFormat)
          this._dateFormat = "%Y-%m-%d %H:%M:%S";
        return this._dateFormat;
      },
    
      set dateFormat(format) {
        this._dateFormat = format;
      },
    
      get date() {
        let date = new Date();
    //  return date.toLocaleFormat(this.dateFormat);
        try {
          date = date.toLocaleFormat(this.dateFormat);
        } catch(e) {
          date = date.toString();
        };    
        return date;
      },
    
      set charSet(val) {
        this._charSet = val;
      },
    
      get charSet() {
        if (!this._charSet)
          this._charSet = "UTF-8"; // use "UTF-8". Defaults to ascii if null.
        return this._charSet;
      }
    
    };
    Alles anzeigen

    Ist etwa falsche (ich hatte keine Probleme mit FF 68 ESR)?.

    Vielen Dank

    Mfg

  • User Script Probleme mit Firefox 78 ESR

    • sam2008
    • 13. Juli 2020 um 11:08

    Hallo Zusammen,

    meine 3x Skripte funktionieren nicht mehr, wenn ich auch .xul zu .xhtml ändern, auch nicht:

    ContextTranslate.uc.js:

    Code
    (function () {
        if (location != 'chrome://browser/content/browser.xul')
            return;
        let translate = function () {
            let browserMM = gBrowser.selectedBrowser.messageManager;
            browserMM.addMessageListener('getSelection', function listener(message) {
                let t = (message.data !== '');
                let e = (document.charset || document.characterSet);
                if (t) {
                    openWebLinkIn('https://translate.google.com/#view=home&op=translate&sl=auto&tl=de&text=' + encodeURIComponent(message.data), 'tab');
                } else {
                    openWebLinkIn('https://translate.google.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=de-DE', 'tab');
                };
                browserMM.removeMessageListener('getSelection', listener, true);
            });
            browserMM.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true);
        }
        let menuitem = document.createElement('menuitem');
        menuitem.id = 'context-googletranslate';
        menuitem.setAttribute('label', 'Übersetzen');
        menuitem.setAttribute('tooltiptext', 'Mit GoogleTranslate übersetzen');
        menuitem.setAttribute('oncommand', '(' + translate.toString() + ')()');
        menuitem.classList.add('menuitem-iconic');
        //Wer kein Icon möchte kann die nächsten beiden Zeilen auskommentieren/löschen
        //menuitem.style.listStyleImage = 'url("https://translate.google.com/favicon.ico")';
        menuitem.style.listStyleImage = ' url("data:image/png;base64,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")';
        let refItem = document.getElementById('context-inspect');
        refItem.parentNode.insertBefore(menuitem, refItem);
    })();
    Alles anzeigen

    printpreview.uc.js:

    Code
    (function() {
    
       if (location != 'chrome://browser/content/browser.xul')
          return;
    
       try {
          CustomizableUI.createWidget({
             id: 'print-toolbarbutton',
             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 attrs = {
                   id: 'print-toolbarbutton',
                   class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                   type: 'menu',
                   removable: true,
                   label: 'Drucken',
                   tooltiptext: 'Drucken'
                };
                for (var a in attrs)
                   toolbaritem.setAttribute(a, attrs[a]);
                return toolbaritem;
             }
          });
       } catch(e) { };
    
       document.getElementById('home-button').parentNode.insertBefore(document.getElementById('print-toolbarbutton'), document.getElementById('home-button'));
    
       var css = '\
          #print-toolbarbutton {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEEElEQVR42mL8//8/Az0AQACxkKJYSNmE30ZbMVRKRPgHsviBYxfv37hx/Cg+vQABxEiMjxRVLSyiIv3UXjx/aeLlYJTNyMjAhCx/9MyNHdz8Aktv3Lj979rlE2uuXLnyC90MgABiAFmED4tKaxvcunnr4r+/v/8Twr9//fxf19hdi80cgABiIuSb+OgITxUVRT18av7/+8fw4+t7hu+fXjDYWRvHYFMDEEAE40hUiFv5968fWOWAvmD4+e0jw++fXxkYmZgZmJlZGb59/SqGTS1AABG06Mv7l+xfPr2Fuvwvwz8g/v/vD8Pf3z+BQfIXaAELAxPQEmC8AcX/M3z68IYZmzkAAYTTIgkZfSemf/8/utjpC12+coNh9bpdDJKSIgxsLIwMoPQDNBNK/2eApacvX74x8HKxM0tJ6Rn/Y2SUfvH04iaYeQABhDUBGBo66p89d+HCf6ATYXjC7NX/zz/4gBd39c+Eq3/77t2X5LTieJiZAAGE1UeOzrbBuloq+r9/foOLPX7zmeHCvZd4g/n79x8MMD28XGzcVub6EUDmQhAfIICwWiQrJazwBxjByODhy/cMfwlYxP3rJwOyPk52ZmUYGyCAMCxKD3Pl1zJ3l/6D5BsQ0FVXYDDXEWPg4+ZgEOTjxLDk6Yu3DL/E1RmQ9TH//8PfVxwpW9S7/DFAAGFYJC7Eq/X3+0dFdB/l+qgDyT+gKIdiNH1SQEJKGcVHv39/F2RkYrAFMpcBBBBGhhXkYVUD5htRQiUGMRhoOCuQ1g8LC+MECCAUHzk6OrL4GYvJMjMycoD4127cZpizYBnJJbWHmyODm5MdjCuvJ84gARBAKBZpSnHzArOEBNA9YPFnz18wLF+9EZINGP5DswM8X2AXB4WKoADYImYWFlB+k+RmZZADCCAUi768+f2LUYrxyL2Hz92XLF4h8uDRE1YleWluGQkxhoT4BLih2As8Boa7t28xLFm9luHR/Qc/gfq/3334kkGM7e9WZtb/jwECCMWiRTt3fgWG5zoVWRF+FWWFGdKSwgy37txmsDMzYgiNiSUYZJdOHGY4fvokg562KruzvRn7hy1HNr69+3Fy36rV3wECCCPVrVq1CliXrJ6zbtmXiV9//mdXkpNmUFNSYPjz5xdBi1S0dRj0VBQY2Ng5GF5++MXAzs2zv2/Vqu8gOYAAwlHWhf4NimLg6G8sElJRlFSUlJLa8ff3LxFCFjGzsDIYaanOePLufZeTd8h9J2+EHEAA4S29C+v73gGpd8c2L2L+85uwj/79BZbuP7/+KWmefB9dDiCAiGozXDu2+cHVo1sEGQmo+8/A+JOB6e8lbHIAAUSURYw/GV2Y2f8J/GMGVkB4a9r/7ALsLA+wyQEEECO9mlsAAQYAq1BA/vIVsYsAAAAASUVORK5CYII=)}\
          #print-toolbarbutton > dropmarker {display: none}\
          #print-toolbarbutton > image{min-height: 24px}\
          #print-toolbarbutton > image{min-width: 26px}\
       ';
    
       var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
    
       document.insertBefore(stylesheet, document.documentElement);
    
       var menu, menuitem, menuseparator, menupopup;
    
       // menupopup of toolbarbutton
    
       menupopup = document.createElement('menupopup');
       menupopup.id = "print-button-popup";
       document.getElementById('print-toolbarbutton').appendChild(menupopup);
    
       menuitem = document.createElement('menuitem');
       menuitem.setAttribute('label', "Drucken…");
       menuitem.setAttribute('tooltiptext', "Drucken…");
       menuitem.setAttribute('accesskey', "D");
       menuitem.setAttribute('command', "cmd_print");
       menupopup.appendChild(menuitem);
    
       menuitem = document.createElement('menuitem');
       menuitem.setAttribute('label', "Druckvorschau");
       menuitem.setAttribute('tooltiptext', "Druckvorschau");
       menuitem.setAttribute('accesskey', "v");
       menuitem.setAttribute('oncommand', "PrintUtils.printPreview(PrintPreviewListener); event.stopPropagation()");
       menupopup.appendChild(menuitem);
    
       menuseparator = document.createElement('menuseparator');
       menupopup.appendChild(menuseparator);
    
       menuitem = document.createElement('menuitem');
       menuitem.setAttribute('label', "Seite einrichten…");
       menuitem.setAttribute('tooltiptext', "Seite einrichten…");
       menuitem.setAttribute('accesskey', "e");
       menuitem.setAttribute('command', "cmd_pageSetup");
       menupopup.appendChild(menuitem);
    
       // submenu of context menu
    
       menu = document.createElement('menu');
       menu.id = "context-print-menu";
       menu.setAttribute('label', "Drucken…");
       menu.setAttribute('accesskey', "D");
       document.getElementById('contentAreaContextMenu')
         .insertBefore(menu, document.getElementById('context-sep-viewbgimage').nextSibling);
    
       menupopup = document.createElement('menupopup');
       menu.appendChild(menupopup);
    
       menuitem = document.createElement('menuitem');
       menuitem.id = "context-print-menu-print";
       menuitem.setAttribute('label', "Drucken…");
       menuitem.setAttribute('accesskey', "D");
       menuitem.setAttribute('command', "cmd_print");
       menupopup.appendChild(menuitem);
    
       menuitem = document.createElement('menuitem');
       menuitem.id = "context-print-menu-preview";
       menuitem.setAttribute('label', "Druckvorschau");
       menuitem.setAttribute('accesskey', "v");
       menuitem.setAttribute('oncommand', "PrintUtils.printPreview(PrintPreviewListener)");
       menupopup.appendChild(menuitem);
    
       menuseparator = document.createElement('menuseparator');
       menupopup.appendChild(menuseparator);
    
       menuitem = document.createElement('menuitem');
       menuitem.id = "context-print-menu-printSetup";
       menuitem.setAttribute('label', "Seite einrichten…");
       menuitem.setAttribute('accesskey', "e");
       menuitem.setAttribute('command', "cmd_pageSetup");
       menupopup.appendChild(menuitem);
    
    })();
    Alles anzeigen

    ExtendedCopy.uc.js:

    Code
    location == "chrome://browser/content/browser.xul" && (function () {
        (function (m) {
            m.id = "context-copyplain";
            m.addEventListener("command", function () {
                Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(content.getSelection());
            }, false);
            m.setAttribute("label", "Nur Text kopieren");
        })(document.getElementById("contentAreaContextMenu").insertBefore(document.createElement("menuitem"), document.getElementById("context-paste")));
        (function (m) {
            m.id = "context-copyHTML";
            m.addEventListener("command", function () {
                var div = content.document.createElement('div');
                div.appendChild(content.getSelection().getRangeAt(0).cloneContents());
                Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(div.innerHTML);
            }, false);
            m.setAttribute("label", "Quellcode kopieren");
        })(document.getElementById("contentAreaContextMenu").insertBefore(document.createElement("menuitem"), document.getElementById("context-paste")));
        document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function () {
            gContextMenu.showItem("context-copyplain", gContextMenu.isTextSelected);
            gContextMenu.showItem("context-copyHTML", gContextMenu.isTextSelected);
        }, false);
    })()
    Alles anzeigen

    Kann jemand bitte helfen?

    Mfg

  • Nach Update von 68.10 ESR zu 78.0.2 ESR menubar-items untereinander

    • sam2008
    • 13. Juli 2020 um 10:26

    Hallo,

    ich habe selber raus gefunden.

    Ich muss diese teil benutzen:

    CSS
    position: absolute  !important;

    Mfg

  • Nach Update von 68.10 ESR zu 78.0.2 ESR menubar-items untereinander

    • sam2008
    • 13. Juli 2020 um 10:00

    Hallo Zusammen,

    ich habe Probleme mit Firefox 78.0.2 ESR und diese Code in userChrome.css Datei, kann jemand mir sagen, wo liegt das Problem?

    Code
    #menubar-items > :last-child::after {
      content: url("data:image/x-icon;base64,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"); 
      margin-left: 50px;
     
      position: relative;
      top: 3px;
    }
      
    #menubar-items::after {
      content: "FI Firefox (Intern Edition)"; 
      margin-left: 5px;
      font-size: 13px;
      
      position: relative;
      top: 1px;
    }
    Alles anzeigen

    Vielen Dank!

    Mfg

  • OCSP Server Fehler Timeout (warte Zeit) ändern

    • sam2008
    • 13. Juni 2020 um 18:31

    Danke, aber glaub mir habe alles schon gelesen.

    Große Probleme ist, wenn Fehler kommt und du Wireshark startest, weil FF nicht etwas tut bis diese 5 Min., kann man nicht sehen wieso passiert.

    Nach diese 5 Min., funktionieret wieder!

    Mfg

  • OCSP Server Fehler Timeout (warte Zeit) ändern

    • sam2008
    • 12. Juni 2020 um 10:52
    Zitat von Sören Hentzschel
    Zitat von sam2008

    aber darf ich nicht tun, wegen Firma Policy.

    Dann hat sich das Thema doch erledigt? Wenn die Firmen-Richtlinie das Verändern von Parametern verbietet, dann ist das für dich verbindlich und darf auch nicht umgangen werden.

    Ich Konfiguriere Firefox für alle.

    Meine Frage ist nur über diese Time (5 Min.), aber hat nicht mit OCSP Prüfung Einstellung zu tun.

    Ich verstehe nicht wieso muss 5 Min. Firefox warten und nicht tun, dann wieder OCSP prüfen?

    Mfg

  • OCSP Server Fehler Timeout (warte Zeit) ändern

    • sam2008
    • 12. Juni 2020 um 10:41

    Das Problem ist OCSP Fehler:

    Code
    Der OCSP-Server ist auf einen internen Fehler gestoßen. Fehlercode: SEC_ERROR_OCSP_SERVER_ERROR

    Wenn diese Fehler kommt und man Webseite neue ladet, bleibt/zeigt diese Fehler bis 5 Min. und Firefox nach diese 5 Min. prüft wieder OCSP.

    Als Info: ich weiß dass ich OCSP parameter ändern kann, aber darf ich nicht tun, wegen Firma Policy.

    MFG

  • OCSP Server Fehler Timeout (warte Zeit) ändern

    • sam2008
    • 12. Juni 2020 um 10:05

    Hallo Zusammen,

    kann man "PRTime ServerFailureDelay" Time von 5 Minute zu 1 Minute überhaupt ändren, ohne dass man in Source Datei ändern und wieder kompilieren?

    Code
    https://hg.mozilla.org/mozilla-central/file/717cd9d89a80/security/certverifier/NSSCertDBTrustDomain.h#l87

    Vielen Dank

    Mfg

  • Firefox fragt nicht mehr wie er mit der Dateiendung .jnlp verfahren soll

    • sam2008
    • 12. April 2020 um 22:00

    Hi,

    zuerst kannst .JNLP Datei von Oracle Webseite testen (Oracle Webseite hat richtige .JNLP Dateien):

    Code
    https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/index.html

    Check diese Registry Key und hier eine Screenshot posten:

    Code
    HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/x-java-jnlp-file

    Mfg

  • Firefox ESR 68.2.0 - Autoconfig.js funktioniert nicht

    • sam2008
    • 20. Februar 2020 um 12:36

    Hallo Norfok:

    in deine UserChrome.css datei, diese Code hinzufügen, dann Benutzer keine CheckBox "Für Dateien dieses Typs immer diese Aktion ausführen" hat.

    CSS
    #rememberChoice{
    display:none!important;}

    Wenn du in Extras, Einstellungen, Allgemein, Anwendungen die Actions sperren möchtest, diese in deine Autocinfig.js hinzufügen:

    Code
    lockPref("pref.downloads.disable_button.edit_actions", false);

    Dann Benutzer in Einstellungen, Anwendugen, Action nicht ändern kann.

    Mfg

  • OpenWith.uc.js für explorer.exe

    • sam2008
    • 18. Februar 2020 um 20:03

    Hallo Tanni,

    vielen Dank für Antwort.

    Ich weis, wegen Sicherheits und etc.

    Diese Firefox ist "nur" für unsere Intranet in Einsatz (also, keine Internet).

    ich habe per Userscript dass Problem gelöst (ich benutze IE11 ("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe") aber man kann mit Windows Explorer Pfad auch benutzen, dann so muss sein ("C:\\Windows\\explorer.exe") :

    Code
    (function() {
    "use strict";
    /*
        Vor Verwendung, Pfad auf eigene Umgebung ändern(\ wird durch \ \ ersetzt)
        Zum Übergeben von Argumenten, wie folgt vorgehen:
        C:\\Program Files\\Internet Explorer\\iexplore.exe<>$1 Argument Argument
        ※ $1 wird in URL umgewandelt
    */
    const BrowserPath = {
        "IE11":    "C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe",
    };
    
    const FlatMenu = false;
    
    const OpenWith = {
        start: function() {
            const cm = document.getElementById("contentAreaContextMenu");
            cm.addEventListener("popupshowing", function(e) {
                if (e.target == this) { OpenWith.onpopup(e); }
            }, false);
        },
    
        createMenu: function() {
            if (this.pageItem || this.linkItem) {
                return;
            }
    
            const contextMenu = document.getElementById("contentAreaContextMenu");
            const pageMenu = this.$C("menu", { id: "context-open-with-page", label: "Link mit IE11 öffnen..." });
            contextMenu.insertBefore(pageMenu, contextMenu.querySelector(":scope > #context-bookmarkpage, :scope > #context-savepage"));
    
            const linkMenu = this.$C("menu", { id: "context-open-with-link", label: "Link mit IE11 öffnen..." });
            contextMenu.insertBefore(linkMenu, contextMenu.querySelector(":scope > #context-sep-open"));
    
            this.pageItem = this.createMenuItem(pageMenu, "openPage", FlatMenu? "$1 ":" $1");
            this.linkItem = this.createMenuItem(linkMenu, "openLink", FlatMenu? "$1 ":" $1");
        },
        
        createMenuItem: function(menu, method, format) {
            const frag = document.createDocumentFragment();
            
            let menuitem = [];
            for (let i of Object.keys(BrowserPath)) {
                const item = this.$C("menuitem", {
                    label:    format.replace("$1", i),
                    class:    "menuitem-iconic",
                    image:    "moz-icon:file:///" + BrowserPath[i].split("<>")[0] + "?size=16",
                    value:    JSON.stringify([ method, i ]),
                });
                item.addEventListener("command", this, false);
    
                frag.appendChild(item);
                menuitem[menuitem.length] = item;
            }
            
            if (!FlatMenu) {
                const menupopup = this.$C("menupopup");
                menupopup.appendChild(frag);
                menu.appendChild(menupopup);
                menuitem = [ menu ];
            }
            else {
                const parent = menu.parentNode;
                parent.insertBefore(frag, menu);
                parent.removeChild(menu);
            }
            
            return menuitem;
        },
    
        $C: function(tag, attrs) {
            const elem = document.createElement(tag);
            if (attrs) {
                for (let key of Object.keys(attrs))
                    elem.setAttribute(key, attrs[key]);
            }
            return elem;
        },
    
        onpopup: function(e) {
            this.createMenu();
            
            const isHtml = /^(https?|file):/.test(gBrowser.currentURI.spec);
            const pageItemHidden = !isHtml || gContextMenu.onLink || gContextMenu.onImage || gContextMenu.onTextInput;
            const linkItemHidden = !isHtml || !gContextMenu.onLink || gContextMenu.onImage || gContextMenu.onTextInput;
            
            const pageItem = this.pageItem;
            for (let i = 0, l = pageItem.length; i < l; i++) {
                pageItem[i].hidden = pageItemHidden;
            }
            const linkItem = this.linkItem;
            for (let i = 0, l = linkItem.length; i < l; i++) {
                linkItem[i].hidden = linkItemHidden;
            }
        },
    
        handleEvent: function(event) {
            if (event.type === "command") {
                const [ method, key ] = JSON.parse(event.originalTarget.getAttribute("value"));
                const url = method === "openPage"? gBrowser.currentURI.spec: gContextMenu.linkURL;
                this.launch(BrowserPath[key], url);
            }
        },
        
        launch: function(browserPath, openURL) {
            let [ path, args ] = browserPath.split("<>");
            if (args) {
                args = args.split(" ").map(a => a.replace("$1", openURL));
            }
            else {
                args = [ openURL ];
            }
            
            const file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            file.initWithPath(path);
            
            const process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
            process.init(file);
            process.run(false, args, args.length, {});
        },
    };
    
    OpenWith.start();
    
    })();
    Alles anzeigen

    Mfg

  • OpenWith.uc.js für explorer.exe

    • sam2008
    • 18. Februar 2020 um 08:38

    Guten Morgen Zusammen,

    gibt es eine UserScript wie OpenWith.uc.js dass man "file:///" Hyperlinks mit Explorer.exe auf Windows öffnen kann?

    als Info: ich möchte nicht LocalFileLinks über policies.json benutzen.

    Vielen Dank

  • Bekanntmachung: Anleitung zur Arbeit mit dem Inspektor und der Stilbearbeitung aus den Entwicklerwerkzeugen

    • sam2008
    • 17. Februar 2020 um 06:48

    Moin @milupo,

    vielen Dank :thumbup::thumbup:

  • NoScript Optionen ausblenden und deaktivieren

    • sam2008
    • 16. Januar 2020 um 12:34

    hier ist einfache Beispiel PowerShell Skript (was ich gemaint habe):

    Code
    $FF_Profile_Name=(Get-ItemProperty -Path "$env:appdata\Mozilla\Firefox\Profiles\*.default").Name
    if (!(Test-Path "$env:appdata\Mozilla\Firefox\Profiles\$FF_Profile_Name\browser-extension-data\{73a6fe31-595d-460b-a920-fcc0f8843232}")) {
      $WhiteListFile = "$env:appdata\Mozilla\Firefox\Profiles\$FF_Profile_Name\browser-extension-data\{73a6fe31-595d-460b-a920-fcc0f8843232}\storage.js"
    }
    else {
      New-Item -Path "$env:appdata\Mozilla\Firefox\Profiles\$FF_Profile_Name\browser-extension-data\{73a6fe31-595d-460b-a920-fcc0f8843232}" -Name "storage.js" -ItemType File -Force
    }
    $s1=(Get-childItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\").PSChildName -join ' '
    $liste = @()
    $s1.Split("") | ?{$_ -ne "//system/" -and $_ -ne "blank"} | %{
        [array]$liste += '"§:' + $_ + '"' 
    
    }
    $ZoneListe=($liste) -join ','
    
    $Update1= '{"__fallbackKeys":["sync","policy","xssUserChoices","xssWhitelist"],"local":{"debug":false,"showCtxMenuItem":true,"showCountBadge":true,"showFullAddresses":false,"storage":"local","uuid":"d2168f8f-7e3c-43f5-9929-202df71d5359"},"policy":{"DEFAULT":{"capabilities":["frame","fetch","other"],"temp":false},"TRUSTED":{"capabilities":["script","object","media","frame","font","webgl","fetch","ping","other"],"temp":false},"UNTRUSTED":{"capabilities":[],"temp":false},"sites":{"trusted":[xxxZoneListexxx],"untrusted":[],"custom":{}},"enforced":true,"autoAllowTop":false}}
    '
    $Update2 = $Update1.Replace("xxxZoneListexxx",$Zoneliste)
    
    $Update2 | Out-String | %{ $_.Replace("`r`n","`n") } |out-file $WhiteListFile -Force
    
    $MyWhitListFile=Get-Content $WhiteListFile 
    $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False 
    [System.IO.File]::WriteAllLines($WhiteListFile, $MyWhitListFile, $Utf8NoBomEncoding) 
    Alles anzeigen

    Mfg

  • NoScript Optionen ausblenden und deaktivieren

    • sam2008
    • 16. Januar 2020 um 10:58

    jede Firma hat seine Policy und muss man beachten, und wenn Policy so sagt, muss man tun oder?

    Als Info:

    auf Windows gibt es Internet Explorer Zone (Internet-Zone, Lokales Intranet, Vertrauenswürdige Sites und Eingeschränkte Sites) Registry Keys für Benutzer.

    Code
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

    Da kann man seine Liste Zentral verwalten. Man kann mit PowerShell "Domains" lesen und in NoScript "storage.js" Datei schreiben.

    Bei uns ist so, dass Benutzer nicht etwa ändern darf. Die Änderungen macht Admin und Zentral (IE Zone).

    Zum Beispiel, wenn NoScript JavaScript blockiert/deaktiviert, Benutzer kann Domain Name sehen und zu Admin sagen, Admin prüft das und wenn alles Ok ist, schaltet frei (Vertrauenswürdige Sites Zone).

    Wenn Mozilla ähnliche Funktion (Zone) in Firefox gebaut hatte, glaub mir, war bye bye for Google Chrome .

    Mfg

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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