15楼#
发布于:2021-08-14 19:32
试试将 this.RebuildPopup(true); 替换成
setTimeout(() => { this.RebuildPopup(true); }, 100); 另外你有没有下载这个 https://github.com/xiaoxiaoflood/firefox-scripts/raw/master/utils.zip 或者这个 https://github.com/xiaoxiaoflood/firefox-scripts/raw/master/utils_scripts_only.zip 并解压放到配置文件夹的 chrome 目录里? 具体用不了是指图标显示不出来,菜单菜单栏中添加的菜单也没有吗? 将启动浏览器后,立即打开浏览器控制台 (ctrl+shift+j) 需先将你提供的 _anoBtn.js 中 317 行的 clone: false 改为 clone: true, 不然快捷键打不开,将该脚本相关的日志复制出来看看。 |
|
16楼#
发布于:2021-08-14 20:30
lonely_8:试试将 this.RebuildPopup(true); 替换成感谢解答。 运行UC脚本所需的基本JS文件,都下载了,我是在能使用styloaix的情况下,才测试AnotherButton.uc为无效的。当时是有按钮的,但是点击后没反应。 现在按照你的方法修改,可以正常使用了,感谢! 另外clone: false并不需要改true,如果改了true,开发工具弹出的菜单是另外的菜单。 |
|
17楼#
发布于:2021-08-14 20:34
AnotherButton能使用之后,发现DownloadPlus.uc使用不了了,还是用回之前的config吧,styloaix用不了就算了。
|
|
18楼#
发布于:2021-08-14 20:45
|
|
19楼#
发布于:2021-08-14 21:39
kidzgy:AnotherButton能使用之后,发现DownloadPlus.uc使用不了了,还是用回之前的config吧,styloaix用不了就算了。回到原帖感觉是加载时机的问题。试试将 utils\userChrome.jsm 中 的第 195 行的 【if (xPref.get(_uc.PREF_ENABLED)) {】(不含【】,下同) 前面加上【 window.setTimeout(() => {】 201 行后面加上 【}, 0);】如果还不行,将这里的 0 ,适当地往上增加。 改后删除配置目录下的 startupCache 文件夹。 另外 styloaix.uc.js 无法右键编辑需要将 document.popupNode._style 替换成 event.target.parentNode.triggerNode._style |
|
20楼#
发布于:2021-08-14 21:54
|
|
21楼#
发布于:2021-08-14 22:43
lonely_8:感觉是加载时机的问题。试试将 utils\userChrome.jsm 中链接:https://pan.baidu.com/s/1d_z4nkUuL5sFXCbUGrA9Og 提取码:aaaa 这个是我完整的UC脚本 |
|
22楼#
发布于:2021-08-14 23:01
kidzgy:照你所说修改后,所有脚本都用不了了回到原帖这是改好了的 https://paste.ubuntu.com/p/Xw7ksQBRHX/ |
|
23楼#
发布于:2021-08-14 23:09
lonely_8:这是改好了的 https://paste.ubuntu.com/p/Xw7ksQBRHX/回到原帖我对比了下修改的内容,就是你说的那写。难道我改的地方改错了? 不过重新试了下,确实又能用了。感谢! |
|
24楼#
发布于:2021-08-15 11:10
lonely_8:这是改好了的 https://paste.ubuntu.com/p/Xw7ksQBRHX/回到原帖 ![]() // ==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(); })() |
|
25楼#
发布于:2021-08-15 13:14
|
|
26楼#
发布于:2021-08-15 14:00
|
|
27楼#
发布于:2021-08-15 14:38
|
|
28楼#
发布于:2021-08-15 15:40
|
|
29楼#
发布于:2021-08-15 17:29
|
|
|
上一页
下一页