fanmli
小狐狸
小狐狸
  • UID51688
  • 注册日期2015-11-08
  • 最后登录2021-09-29
  • 发帖数54
  • 经验71枚
  • 威望0点
  • 贡献值70点
  • 好评度9点
  • 社区居民
  • 忠实会员
阅读:5308回复:26

火狐63b4测试版帮忙修复一下脚本谢谢了!

楼主#
更多 发布于:2018-09-09 19:40
keys['Ctrl+Shift+c'] = function(event) {
            gBrowser.selectedTab = gBrowser.addTab(readFromClipboard());}; //打开剪切板中的网址
谢谢大家帮忙修复一下!!

最新喜欢:

aunsenaunsen 333ywb333ywb
aunsen
小狐狸
小狐狸
  • UID34416
  • 注册日期2010-11-03
  • 最后登录2024-03-27
  • 发帖数56
  • 经验63枚
  • 威望0点
  • 贡献值32点
  • 好评度4点
  • 社区居民
  • 忠实会员
1楼#
发布于:2019-03-21 19:50
UC脚本(关闭标签页后选择左侧标签)在66中有bug
lonely_8:。。刚发现我正则写错了,我在原回复中都改过来了。
/^(f|ht)tps:/ 改为 /^(f|ht)tps?:/
回到原帖
//关闭标签页后选择左侧标签  
(function () {
  gBrowser.tabContainer.addEventListener("TabClose", tabCloseHandler, false);
  function tabCloseHandler(event) {
    var tab = event.target;
    gBrowser.selectedTab = tab;
    if (gBrowser.selectedTab._tPos != 0) {
      gBrowser.tabContainer.advanceSelectedTab(-1, true);
    }
  }
})();

这段UC在64上运行正常,但是在66上运行有bug,具体表现为:
1,连续新建两个newtab再关闭会回到右侧标签
2,第一次启动功能正常,重启火狐后还是会默认选择右侧(UC添加的重启)
3,如果标签都是未读状态关闭标签页还是会回到右侧,如果都是已读状态能正常回到左侧标签页


求大神修复!
wenshanliren
小狐狸
小狐狸
  • UID28120
  • 注册日期2009-02-27
  • 最后登录2024-04-03
  • 发帖数45
  • 经验77枚
  • 威望0点
  • 贡献值62点
  • 好评度1点
  • 社区居民
2楼#
发布于:2018-12-01 17:15
lonely_8:。。刚发现我正则写错了,我在原回复中都改过来了。
/^(f|ht)tps:/ 改为 /^(f|ht)tps?:/
回到原帖

刚才试了好像没影响,感谢大神的热心到位解答
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
3楼#
发布于:2018-12-01 15:26
wenshanliren:非常感谢大神,彻底解决了回到原帖
。。刚发现我正则写错了,我在原回复中都改过来了。
/^(f|ht)tps:/ 改为 /^(f|ht)tps?:/
wenshanliren
小狐狸
小狐狸
  • UID28120
  • 注册日期2009-02-27
  • 最后登录2024-04-03
  • 发帖数45
  • 经验77枚
  • 威望0点
  • 贡献值62点
  • 好评度1点
  • 社区居民
4楼#
发布于:2018-12-01 15:07
lonely_8:1.
var tab = document.popupNode && document.popupNode.localName == "tab" ? document.popupNode : null;替换成
var tab = gBr...
回到原帖

非常感谢大神,彻底解决了
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
5楼#
发布于:2018-12-01 13:49
wenshanliren:非常感谢大大的修改,google搜索和以图搜图都可以了,就是站内搜索不行,菜单点击没反应

不知道是不是这个代码无法识别,在定义中失效了
url: "https://www.google.com/search?q=site:%HOST...
回到原帖
1.
var tab = document.popupNode && document.popupNode.localName == "tab" ? document.popupNode : null;
替换成
var tab = gBrowser.selectedTab;


2.那天还漏了一个
openNewTabWith(uri.spec);
替换成
openNewTabWith(uri.spec, 'tab', {
    triggeringPrincipal: /^(f|ht)tps?:/.test(uri.spec) ?
        Services.scriptSecurityManager.createNullPrincipal({}) :
        Services.scriptSecurityManager.getSystemPrincipal()
});


3.这个改不改都没所谓,从代码上下文来看应该是域名而不是完整地址
case "%H"            :
    return bw.documentURI.spec;
case "%HOST%"        :
    return bw.documentURI.spec;
替换成
case "%H"            :
case "%HOST%"        :
    return bw.documentURI.host;
wenshanliren
小狐狸
小狐狸
  • UID28120
  • 注册日期2009-02-27
  • 最后登录2024-04-03
  • 发帖数45
  • 经验77枚
  • 威望0点
  • 贡献值62点
  • 好评度1点
  • 社区居民
6楼#
发布于:2018-12-01 01:06
lonely_8:这个并不是 _addmenu 这个自定义脚本的错误。
本人没有使用这个脚本,搜索一下应该发现主脚本 AddMenuPlus.uc.js 需要修改。
因为不清楚你使用的是哪一版本的 AddMenuPlus.uc.js

下面的修改是...
回到原帖
非常感谢大大的修改,google搜索和以图搜图都可以了,就是站内搜索不行,菜单点击没反应

不知道是不是这个代码无法识别,在定义中失效了
url: "https://www.google.com/search?q=site:%HOST%+%SEL%",
case "%HOST%"        :
                        return bw.documentURI.spec;
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
7楼#
发布于:2018-11-30 14:42
wenshanliren:麻烦大神看下,这个脚本怎么修复,_addmenu的
page({
                 label: "Google搜索",
                 url: "https://www.google.com/se...
回到原帖
这个并不是 _addmenu 这个自定义脚本的错误。
本人没有使用这个脚本,搜索一下应该发现主脚本 AddMenuPlus.uc.js 需要修改。
因为不清楚你使用的是哪一版本的 AddMenuPlus.uc.js

下面的修改是对应 https://github.com/tortious/userChrome.js-userChrome.css-Favorites/blob/a8687515ec7fd94ad6f2fc438de192006ea4ca9e/userChrome.js/AddMenuPlus.uc.js 该脚本的修改。
你可以照着你自己的脚本修改。

(从你的问题来看都是打开链接错误,因为本人不清楚该脚本的全部功能,如还有其它问题我就再找了)



1.
loadURI(url)
替换成
openUILinkIn(url, 'current', {triggeringPrincipal: gBrowser.selectedBrowser.contentPrincipal});

2.
openUILinkIn(uri.spec, where, false, postData || null)
替换成
openUILinkIn(uri.spec, where, {
    postData: postData || null,
    triggeringPrincipal: where === 'current' ? 
        gBrowser.selectedBrowser.contentPrincipal : (
            /^(f|ht)tps?:/.test(uri.spec) ? 
                Services.scriptSecurityManager.createNullPrincipal({}) :
                Services.scriptSecurityManager.getSystemPrincipal()
        )
});

3.
openUILink(uri.spec, event)
替换成
openUILink(uri.spec, event, {
    triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
wenshanliren
小狐狸
小狐狸
  • UID28120
  • 注册日期2009-02-27
  • 最后登录2024-04-03
  • 发帖数45
  • 经验77枚
  • 威望0点
  • 贡献值62点
  • 好评度1点
  • 社区居民
8楼#
发布于:2018-11-30 00:28
lonely_8:63 后 gBrowser.addTab 、gBrowser.loadOneTab 之类的要加多一个参数。

gBrowser.addTab(readFromClipboard());
改为
gBrowser.addTab(readFrom...
回到原帖
麻烦大神看下,这个脚本怎么修复,_addmenu的
page({
                 label: "Google搜索",
                 url: "https://www.google.com/search?q=%s",
                 condition: "select",
                 where:'tab'
});
page({
                 label: "Google站内搜索",
                 url: "https://www.google.com/search?q=site:%HOST%+%SEL%",
                 condition: "select",
                 where:'tab'
});
aunsen
小狐狸
小狐狸
  • UID34416
  • 注册日期2010-11-03
  • 最后登录2024-03-27
  • 发帖数56
  • 经验63枚
  • 威望0点
  • 贡献值32点
  • 好评度4点
  • 社区居民
  • 忠实会员
9楼#
发布于:2018-11-13 14:08
lonely_8:Moz 已经移除了侧边栏打开地址的功能了。
https://bugzilla.mozilla.org/show_bug.cgi?id=1452645
回到原帖
昏死,挺好的功能啊怎么就没了
有个扩展还可以实现
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
10楼#
发布于:2018-11-13 13:16
Moz 已经移除了侧边栏打开地址的功能了。
https://bugzilla.mozilla.org/show_bug.cgi?id=1452645
aunsen
小狐狸
小狐狸
  • UID34416
  • 注册日期2010-11-03
  • 最后登录2024-03-27
  • 发帖数56
  • 经验63枚
  • 威望0点
  • 贡献值32点
  • 好评度4点
  • 社区居民
  • 忠实会员
11楼#
发布于:2018-11-12 23:19
lonely_8:63 后 gBrowser.addTab 、gBrowser.loadOneTab 之类的要加多一个参数。

gBrowser.addTab(readFromClipboard());
改为
gBrowser.addTab(readFrom...
回到原帖
oncommand:"openWebPanel(gContextMenu.linkText(), gContextMenu.linkURL);",


{name: '侧边栏打开当前页', cmd: function(event) { openWebPanel(document.title, gBrowser.currentURI.spec);}},









又来麻烦大神了,上面两个都是侧边栏打开当前网站的名字,在64+都失效了
etjim
火狐狸
火狐狸
  • UID30046
  • 注册日期2009-08-12
  • 最后登录2024-05-13
  • 发帖数161
  • 经验224枚
  • 威望0点
  • 贡献值56点
  • 好评度13点
  • 忠实会员
  • 社区居民
12楼#
发布于:2018-09-10 22:39
lonely_8:在 setTimeout、clearTimeout 的前面都加上
event.view.
回到原帖
亲测有效,再次感谢大神的帮助
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
13楼#
发布于:2018-09-10 21:44
etjim:亲测有效,谢谢大大的帮忙,但下面这个脚本加上了也没有生效,请问又如何修改呢?
// ==UserScript==
// @name                openLinkByLongPress.uc.js
// @descri...
回到原帖
在 setTimeout、clearTimeout 的前面都加上
event.view.
etjim
火狐狸
火狐狸
  • UID30046
  • 注册日期2009-08-12
  • 最后登录2024-05-13
  • 发帖数161
  • 经验224枚
  • 威望0点
  • 贡献值56点
  • 好评度13点
  • 忠实会员
  • 社区居民
14楼#
发布于:2018-09-10 21:27
lonely_8:和楼主的失效原因问题一样。

在42到43行之间加入
triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal({}),
回到原帖
亲测有效,谢谢大大的帮忙,但下面这个脚本加上了也没有生效,请问又如何修改呢?
// ==UserScript==
// @name                openLinkByLongPress.uc.js
// @description         Links in einem neuen Tab öffnen dazu linke Maustaste gedrückt halten
// @include             main
// @version             0.0.1  Fx58 Kompatibel
// ==/UserScript==
(function() {
    'use strict';
  
    if (location != 'chrome://browser/content/browser.xul') {
        return;
    }
      
    const IN_BACKGROUND = true; //  Tab in Hintergrund öffnen
    const RELATED_TO_CURRENT = true; // Link oder Lesezeichen neben dem aktuellen Tab öffnen?
    // WAIT = Wartezeit zum Öffnen in einem neuen Tab in Millisekunden
      
    let frameScript = function() {
        const WAIT = 300;
  
        let timeoutID;
        let longPress = false;
  
        ['mousedown', 'mouseup', 'dragstart'].forEach(function(type) {
            addEventListener(type, onClick, true);
        });
  
        function onClick(event) {
            if (timeoutID) {
                clearTimeout(timeoutID);
                timeoutID = null;
            }
  
            if (event.button !== 0) return;
            if (event.altKey || event.ctrlKey || event.shiftKey) return;
  
            let node = event.target || event.originalTarget;
            if (!node) return;
  
            let url = findLink(node);
            if (!url) return;
  
            if (event.type === 'mousedown') {
                timeoutID = setTimeout(function() {
                    addEventListener('click', function clk(event) {
                        removeEventListener('click', clk, true);
                        event.preventDefault();
                        event.stopPropagation();
                    }, true);
                    sendAsyncMessage('openLinkByLongPress.uc.js', url.href);
                    longPress = true;
                }, WAIT);
            } else {
                clearTimeout(timeoutID);
                if (longPress && event.type === 'mouseup') {
                    event.preventDefault();
                    longPress = false;
                }
            }
        }
  
        function findLink(node) {
            if (!node || !node.tagName) {
                return null;
            }
            switch (node.tagName.toUpperCase()) {
                case 'A':
                    return node;
                case 'AREA':
                    if (node.href) {
                        return node;
                    } else {
                        return findLink(node.parentNode);
                    };
                case 'B':
                case 'BIG':
                case 'CODE':
                case 'DIV':
                case 'EM':
                case 'H1':
                case 'I':
                case 'IMG':
                case 'NOBR':
                case 'P':
                case 'S':
                case 'SMALL':
                case 'SPAN':
                case 'STRONG':
                case 'SUB':
                case 'SUP':
                    return findLink(node.parentNode);
                default:
                    return null;
            };
        }
    };
  
    let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
    window.messageManager.loadFrameScript(frameScriptURI, true);
    window.messageManager.addMessageListener('openLinkByLongPress.uc.js',
        function(message) {
            gBrowser.loadOneTab(message.data, {
                triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal({}),
                relatedToCurrent: RELATED_TO_CURRENT,
                inBackground: IN_BACKGROUND,
                referrerURI: makeURI(gBrowser.currentURI.spec)
            });
        }
    );
  
}());
上一页
游客

返回顶部