|
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
|
|
|
上一页
下一页