阅读:2527回复:13
升级到53后,右键点击链接打开新标签页脚本的问题
以前用这个uc脚本,右键点击链接就会打开新标签页。现在虽然也能打开,但同时菜单也打开了。升级到53后才这样,大家看看怎么改。正常情况下在没有连接的情况下点击右键才会出菜单,现在在有连接的地方右键点击也出菜单了。
// ==UserScript== // @name RightClickPlus.uc.js // @description 右键新标签页打开链接,在链接上 Ctrl + 右键打开菜单 // ==/UserScript== (function() { var x = true; // false: 前台 | true: 后台 function $(id) document.getElementById(id); gBrowser.mPanelContainer.addEventListener('click', function(e) { if (e.button == 2 && !e.ctrlKey) { var onlink = XULBrowserWindow.overLink; var href = e.target.href || e.target.parentNode.href || onlink; if (href && onlink !== "") { if (/^javascript:/i.test(onlink.toString())) return; e.preventDefault(); e.stopPropagation(); $("contentAreaContextMenu").hidePopup(); gBrowser.moveTabTo(gBrowser.loadOneTab(href, {inBackground: x}), gBrowser.mCurrentTab._tPos + 1); } } }, false); |
|
1楼#
发布于:2017-04-21 21:07
试试
$("contentAreaContextMenu").hidePopup(); 改成 setTimeout(x=>$("contentAreaContextMenu").hidePopup(),50) |
|
|
2楼#
发布于:2017-04-22 07:06
|
|
3楼#
发布于:2017-04-22 07:11
刚才我把,50给去掉了。就好了。我也不知道,50是什么意思。就试验了一下,就看不到闪退了。不过偶尔还会出现但次数很少。不知道什么原因。
|
|
4楼#
发布于:2017-04-22 07:15
顺便问一下,有没有自动随机更换代理服务器的软件。有很多国内免费代理列表。想让这个软件自动随机切换列表里的ip,找了几年了也没找到。最好是能够自动采集并且验证可用的ip代理,然后在由代理软件在指定时间内随机自动变换代理。
|
|
5楼#
发布于:2017-04-23 14:22
|
|
6楼#
发布于:2017-04-28 18:27
真的没人来解决这个闪退问题吗
|
|
7楼#
发布于:2017-04-30 15:50
ff53
似乎在新版本的HTML规范里click事件preventDefault不能影响右键菜单, 必须对oncontextmenu事件preventDefault。 这里看到的http://bbs.kafan.cn/thread-2084764-1-1.html 我不会js,大概这样就行了,我用的52,没测试 // ==UserScript== // @name RightClickPlus.uc.js // @description 右键新标签页打开链接,在链接上 Ctrl + 右键打开菜单 // ==/UserScript== (function() { var x = true; // false: 前台 | true: 后台 function $(id) document.getElementById(id); gBrowser.mPanelContainer.addEventListener('click', function(e) { if (e.button == 2 && !e.ctrlKey) { var onlink = XULBrowserWindow.overLink; var href = e.target.href || e.target.parentNode.href || onlink; if (href && onlink !== "") { if (/^javascript:/i.test(onlink.toString())) return; //e.preventDefault(); e.stopPropagation(); $("contentAreaContextMenu").hidePopup(); gBrowser.moveTabTo(gBrowser.loadOneTab(href, {inBackground: x}), gBrowser.mCurrentTab._tPos + 1); } } }, false); gBrowser.mPanelContainer.addEventListener('contextmenu', function(e) { e.preventDefault(); }, false); })(); |
|
8楼#
发布于:2017-05-01 00:42
|
|
|
9楼#
发布于:2017-05-01 12:46
netweb:ff53试了一下。右键点击链接是正常,但在非链接出点击右键无法出现菜单。按住ctrl点击右键也无法出现菜单 |
|
10楼#
发布于:2017-05-01 12:49
netweb:ff53试了一下。右键点击链接是正常,但在非链接出点击右键无法出现菜单。按住ctrl点击右键无论是在非链接出还是在链接出都无法出现右键菜单。 |
|
11楼#
发布于:2017-05-01 16:28
warb:试了一下。右键点击链接是正常,但在非链接出点击右键无法出现菜单。按住ctrl点击右键无论是在非链接出还是在链接出都无法出现右键菜单。回到原帖改好了,应该没有问题了。再有也不会改了 // ==UserScript== // @name RightClickPlus.uc.js // @description 右键新标签页打开链接,在链接上 Ctrl + 右键打开菜单 // ==/UserScript== (function() { var x = true; // false: 前台 | true: 后台 function $(id) document.getElementById(id); gBrowser.mPanelContainer.addEventListener('click', function(e) { if (e.button == 2 && !e.ctrlKey) { var onlink = XULBrowserWindow.overLink; var href = e.target.href || e.target.parentNode.href || onlink; if (href && onlink !== "") { if (/^javascript:/i.test(onlink.toString())) return; //e.preventDefault(); e.stopPropagation(); $("contentAreaContextMenu").hidePopup(); gBrowser.moveTabTo(gBrowser.loadOneTab(href, {inBackground: x}), gBrowser.mCurrentTab._tPos + 1); } } }, false); gBrowser.mPanelContainer.addEventListener('contextmenu', function(e) { if (e.button == 2 && !e.ctrlKey) { var onlink = XULBrowserWindow.overLink; var href = e.target.href || e.target.parentNode.href || onlink; if (href && onlink !== "") { if (/^javascript:/i.test(onlink.toString())) return; e.preventDefault(); //e.stopPropagation(); } } }, false); })(); |
|
12楼#
发布于:2017-05-01 16:50
|
|
13楼#
发布于:2017-05-02 07:37
|
|