kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
阅读:5141回复:29

一个暗黑透明类的菜单样式在proton启用后失效了,能修复吗?

楼主#
更多 发布于:2021-08-11 00:10
先上图。




一直觉得这个样式非常漂亮,奈何firefox91版本强制启用proton,参数已经无法关闭proton了。而且,启用proton已经是大势所趋了。所以想知道有没有什么办法可以继续使用这个样式,还需要怎么调整吗?

#ContentSelectDropdown > menupopup > menuitem[customoptionstyling="true"]{background-color:transparent !important;color:#999999 !important;}
 
menupopup > menuitem, menupopup > menu {
    padding-block: 0.1em !important;
    padding-inline-start: 0em !important;
}
/*menuitem,menu{max-height:26px !important;min-height:26px !important;}*/
 
#PlacesToolbarItems > .bookmark-item {font-size:13px !important;}
    menu,menuitem,.splitmenu-menuitem {
    font-size:16px!important;
            text-align: left !important;
    font-family:"Microsoft YaHei UI" !important;
    }
/* SUBMENUS */
popup:not(#autoscroller),
menupopup,
popup menu,
menupopup menu {
opacity: 0.95 !important;
-moz-appearance: none !important;
background: none !important;
border: none !important;
color: #fff !important;
box-shadow: none !important;
}
 
menupopup{
padding: 11px 12px 16px !important;
}
 
/*.popup-internal-box {
margin: 11px 12px 16px !important;
}*/
.addon-control.state menupopup {padding:8px 13px 12px 4px !important;
}
/* MENU ITEMS */
menuitem,
.splitmenu-menuitem {
opacity: 0.95 !important;
-moz-appearance: none !important;
border: none !important;
color: #fff !important;
}
 
/* APP MENU */
#appmenu-popup vbox {
background: none !important;
border: none !important;
box-shadow: none !important;
}
/* MENUS */
popup:not(#autoscroller),
menupopup {
border-image-source: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAvCAYAAABAHIylAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUlSURBVHja7JtPaBRXHMc/781OdnXNqinVlphK4iJoQWiLGIjgLV6UEBFLEcFzLr0JihdB8OjNkwdBWCkKIejFXIKYQkR6CS2Gsv5rjE0sSN11kzWz814P+ya+vMxGL4Xdzfzgx7x9O4edD9/fmzfz+67QWrNeCCGEO9Vg3MyhG4zRnwAg4r53oAgniRm3AhwdM7bnYmGtAWTBiSBI6yiduWaH5AJR1lE5czoO0ipAFhwbhGeltI4upGZWkA0ltI6h9Tk6ZxWkFUAOnChTVmaAHcBWIAukY8qtWeEAfAAqwDvgDVAFalYqK1cgCa11HBzPQPGBDuBrz/P6BgcH1aFDh6pHjx4t9/f3V2mhmJqayty/f7/z0aNHmfHxcRmG4TPgb2AZCAyk0IVkAxKOajqMSvbm8/kdV65c+efkyZNl2iDu3LnTef78+S+LxeIb4E+jrmVHTdoFFCknUk0G6NmzZ09vsVgsAoyMjBwYHx8fLpVKfUEQdLUSFN/33+ZyuWeDg4Oj165dmwbI5/P5p0+fPgdmTclFagoBpbXW9u3bs5STAbZ6nvdDoVCYP3XqVOnw4cM/Pnny5KdUKrUspQyFELqVAGmthVLKq9VqHfv27bs1OTn5S6FQyJ0+ffor4DezNlUtJYWA9pxbuG/KKgPsPnHiRPrSpUsLIyMjByYmJn5Op9NLUkq1du/Y/CGEQEqpPM+rzc/Pf//69evfz507Nzs9Pb1lZmYmBZSchVoDWlp3IumoqGtgYKAMcO/evTO+739oNdU0AKV93/8wNjZ2BmBgYKACbDfXnLK2MQJnL+MC6jx+/HgJoFKp9EgpQ9okpJRhuVzeDTA0NPQOyK0HCKfMIkjpfD4fACilsu2gHltFSqmsWaiDGDgrwpHOM5cNyGPjRCpOPa6ChLOL3kiAPOfahbsGxUESGwiQaPB8KaTzNB73amOjAIp7pYNc50XYRgS0hoUkifW3BAmCBFACKAGUAEoAJYASQAmgJBJACaD/F5DrgNAbiIOmgQNEOhO24yGcmZnpAJBSVkyLqG2e3oUQSwAvXrzwWW1gsFkgiXdAKKA6Nja2DSCbzc4qpdrmDWMYhl4ul3sOUCgUvgAWcdo9ERPZAI4C3k9OTnYBHDt27GYQBOl2UJHWWgRBkB4aGroJ8PDhw+3UTQ0qDpLdOIwsLpFpQRSLxXxvb++7CxcuvLx7965eWFj4TgihTbYcGKVUKgiCzP79+2/dvn174vr1611Xr17tA54B71nbWVVuTz4DbAY6qdtcdu/atWvn7Ozsr7CqN58PgmBbKwHyff/fXC5XtHvzPT09A69evVoAXlJvPZdNuVUxjg+3L58GNlH3/+RM7u3u7s5evnz5j7Nnz75thzXoxo0bXRcvXvx2bm6uQt3dUTJZAZaouz1qQOh2VSPjwiZgi1FSJ9Atpfymv79/4eDBg2+Hh4ffHDlyZLGVoDx48GDz6OjojsePH3dNTU3tVEr9BcwZ1ZRNiS1ZZbZSYo3cHZsNpKzJLdQdZjnzXQfN7VN0787LpnxK1B1m741iKma8GLMG6ZTWOlpwI99ezZwkrW2AMvNVPrZpU6ztqzUroOj3R9dWNWpZdFRju8z05zrMMlZ2NADU7B5FF1AEKcrPcphBY49ilL5J2/XaKgqKHK2ByWUr1/coRntvB5LrcvX52OC3e9nQ/D5p5UCqWVA+7XI1+wRqtVrik6aBT9r3fQAbUuK0jwPkQLJBbez/atiA7HBguUDa/t8+/w0Aop+YsD/C4DEAAAAASUVORK5CYII=") !important;
border-image-slice: 15 fill !important;
border-image-width: 15px !important;
border-image-repeat: repeat !important;
}
menupopup menupopup {
margin-top: -13px !important;
}
 
/* SEPARATOR */
menuseparator {
-moz-appearance: none !important;
list-style-image: none !important;
background: none !important;
border:solid 0.5px  #555 !important;
padding-top: 0px !important;
padding-bottom: 0px !important;
margin-top: 2px !important;
margin-bottom: 2px !important;
}
/* DISABLED ITEM */
menuitem[disabled="true"] {
background: none !important;
opacity: 0.25 !important;
}
/* SELECTED ITEM */
popup menu:not([disabled="true"])[_moz-menuactive="true"],
menupopup menu:not([disabled="true"])[_moz-menuactive="true"],
menuitem:not([disabled="true"])[_moz-menuactive="true"],
.splitmenu-menuitem:not([disabled="true"])[_moz-menuactive="true"] {
background: -moz-linear-gradient(top, #6f81f5, #3f51f2) repeat-x !important;
border-radius: 2px !important;
}
/* SELECTED ITEM (GRAPHITE) */
popup menu:-moz-system-metric(mac-graphite-theme)[_moz-menuactive="true"],
menupopup menu:-moz-system-metric(mac-graphite-theme)[_moz-menuactive="true"],
menuitem:not([disabled="true"]):-moz-system-metric(mac-graphite-theme)[_moz-menuactive="true"] {
background: -moz-linear-gradient(top, #7f858d, #69717c) repeat-x !important;
}
/* RIGHT ARROW */
.menu-right {
-moz-appearance: none !important;
opacity: 0.4 !important;
list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAJCAYAAADHP4f4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADrSURBVHjatJM9TgMxEEafU6WgSEmRAokG5QQoB8ghKDkEJ9lLpKDMGRAV1UopU6AVBV3QxhWPAls4JoYqlj7J8/fNeGaM2qsLlXNhAlwDz0DH/2cLzCrdAMQ/0KPGAjt12ahonXyeKv1KHSuejL264IRhTIQl0bIgOqj32QagbhpJOoCgxkZrdsBNcb8sbB/AHIghBNQp8ApcFD5vIYQrgMkJcoEX4DbJXZWARPaYhRBCBB5SLMAncPfDePy897IVaev2jVaM6uqouu95RXVNZcgBG3VazaJvJMgYKq6Zuv3dGx3Shpztn3wNABJf62ogSXVRAAAAAElFTkSuQmCC")
!important;
-moz-image-region: rect(0px 7px 9px 0px) !important;
margin-top: 1px !important;
}
.menu-right[_moz-menuactive="true"] {
opacity: 1.0 !important;
}
 
/* SCROLL ARROWS */
.autorepeatbutton-up{list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAJCAYAAADHP4f4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADrSURBVHjatJM9TgMxEEafU6WgSEmRAokG5QQoB8ghKDkEJ9lLpKDMGRAV1UopU6AVBV3QxhWPAls4JoYqlj7J8/fNeGaM2qsLlXNhAlwDz0DH/2cLzCrdAMQ/0KPGAjt12ahonXyeKv1KHSuejL264IRhTIQl0bIgOqj32QagbhpJOoCgxkZrdsBNcb8sbB/AHIghBNQp8ApcFD5vIYQrgMkJcoEX4DbJXZWARPaYhRBCBB5SLMAncPfDePy897IVaev2jVaM6uqouu95RXVNZcgBG3VazaJvJMgYKq6Zuv3dGx3Shpztn3wNABJf62ogSXVRAAAAAElFTkSuQmCC")
!important;-moz-image-region: rect(0px 16px 9px 7px) !important;}
.autorepeatbutton-down{list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAJCAYAAADHP4f4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADrSURBVHjatJM9TgMxEEafU6WgSEmRAokG5QQoB8ghKDkEJ9lLpKDMGRAV1UopU6AVBV3QxhWPAls4JoYqlj7J8/fNeGaM2qsLlXNhAlwDz0DH/2cLzCrdAMQ/0KPGAjt12ahonXyeKv1KHSuejL264IRhTIQl0bIgOqj32QagbhpJOoCgxkZrdsBNcb8sbB/AHIghBNQp8ApcFD5vIYQrgMkJcoEX4DbJXZWARPaYhRBCBB5SLMAncPfDePy897IVaev2jVaM6uqouu95RXVNZcgBG3VazaJvJMgYKq6Zuv3dGx3Shpztn3wNABJf62ogSXVRAAAAAElFTkSuQmCC")
!important;-moz-image-region: rect(0px 25px 9px 16px) !important;}
.autorepeatbutton-up,
.autorepeatbutton-down {
position: relative !important;
z-index: 1 !important;
opacity: 0.8 !important;
background: #333 !important;
}
.autorepeatbutton-up[disabled="true"],
.autorepeatbutton-down[disabled="true"] {
opacity: 0.2 !important;
}
/* CHECKMARK */
menuitem[checked="true"] .menu-iconic-left {
-moz-appearance: none !important;
opacity: 0.5 !important;
height: 16px !important;
list-style-image: none !important;
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlElEQVQoFWP8z4AfMOGXZmAgW4EuQxHU7P8MWGDm/59ACJbBJl39HwRacCkIB0s3wsyFmaD4vxQsJP3/LVDBNJg0MBCgzI1AYZCuXUD6/H82TAW9QImf/4uA5P//NghphAmc/2+AJf//X4EsjVDA8N8MrODPf3VcChj+rwMqWY0qjWwCw39joAJLdAWMQDV4AcHIAgCeN8L5Yy1dlAAAAABJRU5ErkJggg==")
2px 0px no-repeat !important;
    margin-left:3px  !important;
}
menuitem[checked="true"][_moz-menuactive="true"] .menu-iconic-left {
opacity: 1.0 !important;
}

最新喜欢:

aunsenaunsen
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
1楼#
发布于:2021-08-12 20:41
lonely_8:.menupopup-arrowscrollbox{
  background: transparent!important;
  border: 0!important;
}
menupopup {
  -moz-window-...
回到原帖
有几个小问题,就是红色部分,如果菜单中又有子菜单的,该菜单名称并没有左对齐,然后三角箭头不知道为什么会变得那么大
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
2楼#
发布于:2021-08-12 20:53
另外再请教个问题,就是在没有启用其他任何样式的情况下,我想通过以下样式来改变菜单的背景颜色,却发现无论如何都生效不了,我的主题依旧是明亮主题。
:host,
  :root {
    --menu-background-color: #f9f9fb !important;
    --menu-color: #fff !important;
}
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
3楼#
发布于:2021-08-12 23:59
lonely_8:原楼层已经更新。


menupopup {
  --menuitem-hover-background-color: var(--dark-menuitem-hover-background-color) !important;
...
回到原帖
非常感谢你的解答。
后来发现还是有点瑕疵,左对齐还是太难了。效果是这样的:






得益于你的指导,并且借鉴了https://github.com/black7375/Firefox-UI-Fix/releases的内容,我直接抛弃掉本主题所述的样式。而是改用官方的暗黑色调,并且在官方的基础进行修改,这样的话就能够实现近乎完美的效果。先上效果图:





代码是这样的:如果想要白色边框更粗点,可以将10行-13行的注释去掉。
menuseparator {
-moz-appearance: none !important;
list-style-image: none !important;
background: none !important;
border:solid 0.5px #555 !important;
padding-top: 0px !important;
padding-bottom: 0px !important;
}
  
/*.menupopup-arrowscrollbox{
  border: 2px solid #fff !important;
  
}*/
  
menupopup {
  --menuitem-hover-background-color: rgba(90, 108, 234, 0.95) !important;
  --menu-background-color: rgba(56, 56, 56, 0.95) !important;
  --menu-color: #fff !important;
  --menu-disabled-color: rgba(251, 251, 254, 0.4) !important;
  --menu-border-color: rgba(255, 255, 255, 1) !important;
  --menu-icon-opacity: 1.0 !important;
  border: 1px solid rgba(56, 56, 56, 1) !important;
}
.menu-right {
    margin-inline-end: 0.4em !important;
}
menu,menuitem {
    font-size:16px!important;
    font-family:"Microsoft YaHei UI" !important;
}
  
  :root {
    --menu-padding: 0.2em;
  }
  menupopup > menuitem, menupopup > menu {
    padding-block: var(--menu-padding) !important;
  }
  
  
  /* Padding */
  :root {
    --context-menu-background-padding-default: 5px;
    --context-menu-background-padding: var(--context-menu-background-padding-default);
  }
  :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menuitem,
  :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menu,
  #blockedPopupDontShowMessage {
    background-position: left var(--context-menu-background-padding) center !important;
    padding-inline-start: var(--context-menu-background-padding) !important;
  }
  
  /* Padding - Windows */
  @media (-moz-os-version: windows-win7 ),
         (-moz-os-version: windows-win8 ),
         (-moz-os-version: windows-win10) {
    :root {
      --context-menu-background-padding: 0.5em;
      --context-menu-text-padding: calc(var(--menu-padding) + var(--context-menu-background-padding-default) + 16px);
    }
  
    :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menuitem:not(.menuitem-iconic, [type="checkbox"], .in-menulist),
    :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menu:not(.menu-iconic, [type="checkbox"], .in-menulist),
    #blockedPopupDontShowMessage {
      padding-inline-start: calc(var(--context-menu-background-padding) + var(--context-menu-text-padding)) !important;
    }
    /* Checkbox */
    :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menuitem[type="checkbox"][checked="false"] > .menu-iconic-left {
      padding-inline-start: var(--context-menu-text-padding);
    }
  }
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
4楼#
发布于:2021-08-14 14:30
lonely_8:原楼层已经更新。


menupopup {
  --menuitem-hover-background-color: var(--dark-menuitem-hover-background-color) !important; ...
回到原帖
再请教个问题,像修改这些浏览器界面的css,有没有办法实时反映效果?
我每次都是编辑chrome文件夹下的css,编辑保存完后重启浏览器查看效果,非常耗时。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
5楼#
发布于:2021-08-14 15:11
lonely_8:UC 脚本 https://github.com/xiaoxiaoflood/firefox-scripts
https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/...
回到原帖
有个很要命的问题,替换掉config.js后,我的AnotherButton.uc用不了了


链接:https://pan.baidu.com/s/1jOyqaBthbkfbuBa8AYqbiw
提取码:aaaa
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
6楼#
发布于:2021-08-14 16:18
lonely_8:这脚本本来就用不了的吧?
1. toSource 替换为 toString
2. 注释或者删掉 saveFile(aFile, ''); 这一行,初次使用时 _anoBtn.js 配置文件改为手动创建吧。
回到原帖
抱歉,忘了上传配置文件。
这个是配置文件:链接:https://pan.baidu.com/s/13tY7DJKZLQKGjbZT96gSJw
提取码:aaaa


这个脚本之前是能用的



在此之前的config.js文件配置是这样的
try {
 
Components.utils.import("resource://gre/modules/osfile.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
function UserChrome_js() {
  var os = Components.classes["@mozilla.org/observer-service;1"]
                     .getService(Components.interfaces.nsIObserverService);
  os.addObserver(this, "final-ui-startup", false);
};
 
UserChrome_js.prototype = {
  observe: function(aSubject, aTopic, aData) {
    var os = Components.classes["@mozilla.org/observer-service;1"]
                       .getService(Components.interfaces.nsIObserverService);
 
    switch (aTopic) {
  case "final-ui-startup":
      var file = Components.classes["@mozilla.org/file/directory_service;1"]
                           .getService(Components.interfaces.nsIProperties)
                           .get("UChrm", Components.interfaces.nsIFile);
      file.append("userChrome.js");
 
      if (file.exists() && file.isFile() &&
          !Components.classes["@mozilla.org/xre/app-info;1"]
                     .getService(Components.interfaces.nsIXULRuntime)
                     .inSafeMode) {
        this.mFileURL = Components.classes["@mozilla.org/network/io-service;1"]
                                  .getService(Components.interfaces.nsIIOService)
                                  .getProtocolHandler("file")
                                  .QueryInterface(Components.interfaces.nsIFileProtocolHandler)
                                  .getURLSpecFromFile(file);
        var path = OS.Constants.Path.libDir;
        path = OS.Path.join(path, "userChromeJS.js");
        this.uCFileURI = OS.Path.toFileURI(path);
 
        os.addObserver(this, "domwindowopened", false);
        var blankWindow = Services.wm.getMostRecentWindow("navigator:blank");
        blankWindow && blankWindow.addEventListener("load", this, true); 
      }
      break;
    case "domwindowopened":
      aSubject.addEventListener("load", this, true);
      break;
    }
  },
 
  handleEvent: function(aEvent) {
    var document = aEvent.originalTarget;
    if (document.location && document.location.protocol == "chrome:") {
      try {
        let loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
                               .getService(Components.interfaces.mozIJSSubScriptLoader);
        loader.loadSubScript(this.uCFileURI,
                             document.defaultView,
                             "UTF-8");
 
        loader.loadSubScript(this.mFileURL,
                             document.defaultView,
                             "UTF-8");
      }
      catch (ex) {
        if (ex !== "stop") {
          Components.utils.reportError(ex);
        }
      }
    }
  }
 
};
 
new UserChrome_js();
 
} catch(ex) {
  Components.utils.reportError(ex);
};
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
7楼#
发布于:2021-08-14 16:23
kidzgy:抱歉,忘了上传配置文件。
这个是配置文件:链接:https://pan.baidu.com/s/13tY7DJKZLQKGjbZT96gSJw
提取码:aaaa


这个脚本之前是能用的



在此之前的config....
回到原帖
如你所述修改,在用了xiaoxiaoflood的config文件后依旧不可用。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
8楼#
发布于:2021-08-14 17:57
最终效果图:

:root {
  --menu-padding: 0.2em !important; /*浏览器文字菜单间距*/
  --context-menu-background-padding: 0.5em !important; /*含图标+文字所有菜单间距*/
  --context-menu-text-padding: 1.5em !important;/*浏览器文字菜单间距*/
 }
 
 
menupopup {
  --menuitem-hover-background-color: rgba(90, 108, 234, 1) !important;
  --menu-background-color: rgba(60, 60, 60, 1) !important;
  --menu-color: #fff !important;
  --menu-disabled-color: rgba(251, 251, 254, 0.4) !important;
  --menu-border-color: rgba(255, 255, 255, 1) !important;
  --menu-icon-opacity: 1.0 !important;
  border: 1px solid rgba(56, 56, 56, 1) !important;
}
 
.menupopup-arrowscrollbox{
  border: 2px solid rgba(255, 255, 255, 1) !important;
}
 
:not(menu, #ContentSelectDropdown, #context-navigation, #viewButton) > menupopup > menuitem,
:not(menu, #ContentSelectDropdown, #context-navigation, #viewButton) > menupopup > menu,
menuitem[checked="true"],
menuitem.menuitem-iconic,
menu.menu-iconic,
#blockedPopupDontShowMessage {
  background-position: left 0.5em center !important;
  padding-inline-start: 0.5em !important;
}
 
  :not(menu, #ContentSelectDropdown, #context-navigation, #viewButton) > menupopup > menuitem:not(.menuitem-iconic, [type="checkbox"], .in-menulist,.unified-nav-current),
  :not(menu, #ContentSelectDropdown, #context-navigation, #viewButton) > menupopup > menu:not(.menu-iconic, [type="checkbox"], .in-menulist,.unified-nav-current),
menupopup:not(.in-menulist) > menuitem:not([checked="true"],.menuitem-iconic),
menupopup:not(.in-menulist) > menu:not(.menu-iconic),
  #blockedPopupDontShowMessage {
   padding-inline-start: 2em !important;
    }
 
 
/*复选框间距*/
  :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup > menuitem[type="checkbox"]:not([checked="true"]) > .menu-iconic-left
 {
    padding-inline-start: 1.5em !important;
  }
 
 
/*调大字体*/
menu,menuitem {
    font-size:16px!important;
    font-family:"Microsoft YaHei UI" !important;
}
 
/*分隔线*/
menuseparator {
-moz-appearance: none !important;
list-style-image: none !important;
background: none !important;
border:solid 0.5px #555 !important;
padding-top: 0px !important;
padding-bottom: 0px !important;
}
 
/*菜单上下间距*/
menupopup > menuitem, menupopup > menu {
padding-block: 0.2em !important;
}
 
/*子菜单箭头*/
.menu-right {
margin-inline-end: 0.4em !important;
}
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
9楼#
发布于:2021-08-14 20:30
lonely_8:试试将 this.RebuildPopup(true); 替换成
setTimeout(() => { this.RebuildPopup(true); }, 100);

另外你有没有下载这个
https://github.com...
回到原帖
感谢解答。
运行UC脚本所需的基本JS文件,都下载了,我是在能使用styloaix的情况下,才测试AnotherButton.uc为无效的。当时是有按钮的,但是点击后没反应。
现在按照你的方法修改,可以正常使用了,感谢!

另外clone: false并不需要改true,如果改了true,开发工具弹出的菜单是另外的菜单。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
10楼#
发布于:2021-08-14 20:34
AnotherButton能使用之后,发现DownloadPlus.uc使用不了了,还是用回之前的config吧,styloaix用不了就算了。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
11楼#
发布于:2021-08-14 21:54
lonely_8:感觉是加载时机的问题。试试将 utils\userChrome.jsm 中
的第 195 行的 【if (xPref.get(_uc.PREF_ENABLED)) {】(不含【】,下同)
前面加上【 window.setTimeout(...
回到原帖
照你所说修改后,所有脚本都用不了了
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
12楼#
发布于:2021-08-14 22:43
lonely_8:感觉是加载时机的问题。试试将 utils\userChrome.jsm 中
的第 195 行的 【if (xPref.get(_uc.PREF_ENABLED)) {】(不含【】,下同)
前面加上【 window.setTimeout(...
回到原帖
链接:https://pan.baidu.com/s/1d_z4nkUuL5sFXCbUGrA9Og
提取码:aaaa
这个是我完整的UC脚本
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
13楼#
发布于:2021-08-14 23:09
lonely_8:这是改好了的 https://paste.ubuntu.com/p/Xw7ksQBRHX/回到原帖
我对比了下修改的内容,就是你说的那写。难道我改的地方改错了?
不过重新试了下,确实又能用了。感谢!
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
14楼#
发布于:2021-08-15 11:10
lonely_8:这是改好了的 https://paste.ubuntu.com/p/Xw7ksQBRHX/回到原帖
又有新问题了,在xiaoxiaoflood的config的基础上,滚轮切换搜索栏搜索引擎.uc.js用不了了。
// ==UserScript==
// @name           滚轮切换搜索栏搜索引擎.uc.js
// @namespace      https://github.com/Endor8/userChrome.js/blob/master/Firefox-57/SearchEngineWheelScroll.uc.js
// @description    wheelscroll to change search engine
// @include        main
// @compatibility  Firefox 57
// @author         Endor8
// @version        2018/04/16 19:00 v1
// ==/UserScript==
 
(function() {
//Einstellungen - true = ein(aktiviert) false = aus(deaktiviert)
    
//Namen und Symbol der Suchmaschine in der Suchleiste anzeigen
  const BUTTON_ONLY = false //Nur bei Suchleisten Suchschaltfläche anwenden - Suchmaschinen wechseln mit Scrollrad im Hauptkontextmenü deaktivieren
  const label = true; //Namen anzeigen
  const img = true; //Symbol - Favicon anzeigen
//Doppelklick auf Suchleiste, um zur Standard Suchmaschine zurück zu kehren
  const only = false; //Suchleiste leeren und nicht zur Standardsuchmaschine zurückkehren [Neu in Version 0.6]
  const dbl = true; //Funktion aktivieren
  const zero = false; //Bei Klick zur obersten Suchmaschine zurückkehren
  const select = ' 百度 '; //Standard Suchmaschine angeben, zum Beispiel 'DuckDuckGo'.
  const erase = true; //Nach Suche Suchleiste leeren
//[Aktion nach dem Suchen mit der Suchleiste]
  const auto = true; //Andere Einstellungen verwenden, durch einen Doppelklick auf die Suchleiste 
//Kontextmenü Suche wechseln mit[~~Suchen]
  const cxt = true; //Funktion aktivieren
  const icon = true; //Symbol - Favicon anzeigen
  const clk = true; //Klicken, um zur Standard Suchmaschine zurückzukehren (Andere Einstellungen verwenden ~ mit Doppelklick auf die Suchleiste)
  const sync = false; //Suchwort an die Suchleiste senden [Neu in Version 0.7]
  const hist = true; //Suchwort der Suchchronik der Suchleiste hinzufügen * Es ist OK, wenn die Synchronisation inkorrekt ist [Neu in Version 0.8]
//[Verhalten beim Start] * Gilt auch beim Neustart
  const start0 = false; //Andere Einstellungen verwenden, durch Doppelklick auf die Suchleiste
    
//Konfiguration
    
  const scrollRight = true;
  let bar = document.getElementById('searchbar');
  let box = bar.textbox.inputField;
  let menu = document.getElementById('context-searchselect');
  let BSS = Services.search;
      
  if(!!dbl) bar.addEventListener('dblclick', ResetE, false);
  bar.addEventListener('DOMMouseScroll', ChangeE, false);
  if(!!cxt) menu.addEventListener('wheel', ChangeE, false);
  if(!!clk) menu.addEventListener('click', function(){
    if(!!sync) {box.value = this.searchTerms}else{box.value = box.value}
    if(!!hist) SyncHistory();
    setTimeout(function(){ResetE()}, 0)
  }, false);
    
  window.addEventListener('unload', function uninit() {
        bar.removeEventListener('dblclick', ResetE, false);
        bar.removeEventListener('DOMMouseScroll', ChangeE, false);
        menu.removeEventListener('wheel', function(e){if(!!con) ChangeE(e)} , false);
        menu.removeEventListener('click', function(){
            if(!!sync) {box.value = this.searchTerms}else{box.value = box.value}
            if(!!hist) SyncHistory();
            setTimeout(function(){ResetE()}, 0)
        } , false);
        window.removeEventListener('unload', uninit , false);
  }, false);
      
  async function ResetE(){
    this.engines = await BSS.getVisibleEngines();
    if(!only){
    if(!!zero || select == ''){BSS.defaultEngine = this.engines[0]
    }else{
        BSS.defaultEngine = BSS.getEngineByName(select)
        }
    }
    if(!!erase || !!only) box.value = '';
  }
      
  function CMenu() {
    let selectedText = menu.searchTerms || window.getSelection().toString();
    if (selectedText.length > 15) {
        let truncLength = 15;
        let truncChar = selectedText[15].charCodeAt(0);
        if (truncChar >= 0xDC00 && truncChar <= 0xDFFF)
            truncLength++;
        selectedText = selectedText.substr(0, truncLength) + '\u2026';
    }
    var menuLabel = gNavigatorBundle.getFormattedString('contextMenuSearch',[BSS.defaultEngine.name, selectedText]);
    menu.setAttribute('label', menuLabel);
    if(!icon || !cxt) return;
    let style = '@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);#context-searchselect:before{margin:0 -20px 0 5px;content:"";display:inline-block;width:16px;height:16px;background:url('+ BSS.defaultEngine.iconURI.spec +');background-size:contain!important}';
    let 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);
    }; 
  }
      
  function SyncHistory(){
    let val = menu.searchTerms;
    let addHistory = function(val){
        setTimeout(function(){bar.FormHistory.update({op: "add", fieldname: "searchbar-history", value: val})}, 500);
    };
    let removeHistory = function(callback, val){
        bar.FormHistory.update({op: "remove", fieldname: "searchbar-history", value: val});
        callback(val);
    }
    removeHistory(addHistory, val);
  }
      
  async function ChangeE(event) {
    if(BUTTON_ONLY && event.originalTarget.className !== 'searchbar-search-button' && event.originalTarget !== menu) return;
    let dir = (scrollRight ? 1 : -1) * Math.sign(event.detail || event.deltaY);
    this.engines = await BSS.getVisibleEngines();
    let index = this.engines.findIndex(e => e.name === BSS.defaultEngine.name);
        this.engines[this.engines.length] = this.engines[0]
        if(index+dir < 0 || index+dir === this.engines.length - 1) return;
        BSS.defaultEngine = this.engines[index+dir];
  }
      
  function ShowCurrentE(){
    let E = BSS.defaultEngine;
        if(!!label)box.setAttribute('placeholder', E.name);
    let icon = bar.querySelector('.searchbar-search-icon');
        if(!!img)icon.setAttribute('style', "list-style-image: url('"+ E.iconURI.spec +"') !important; -moz-image-region: auto !important; width: 16px !important; padding: 2px 0 !important;");
  }
      
  Services.obs.addObserver(observe, "browser-search-engine-modified");
    window.addEventListener("unload", () => {
      Services.obs.removeObserver(observe, "browser-search-engine-modified");
  });
       
  Services.obs.addObserver(ob2, "browser-search-service");
    window.addEventListener("unload", () => {
      Services.obs.removeObserver(ob2, "browser-search-service");
  });
        
       
   function observe(aEngine, aTopic, aVerb) {
    if (aTopic == "browser-search-engine-modified") {
      aEngine.QueryInterface(Components.interfaces.nsISearchEngine);
      if(aVerb !== "engine-current" && aVerb !==  'engine-default') return;
        ShowCurrentE();
        CMenu();
    }
  }
    
   function ob2(aSubject, aTopic, aData) {
    if(aData === "init-complete" && aTopic === "browser-search-service") {
       if(!!start0) ResetE();
       ShowCurrentE();
       CMenu();
     }
   }
        
  if(!auto) return;
    bar.cmd = bar.doSearch;
    bar.doSearch = function(aData, aWhere, aEngine) {
    this.cmd(aData, aWhere, aEngine);
    ResetE()
  } 
  ShowCurrentE();
})()
上一页
游客

返回顶部