|
楼主 |
发表于 2020-12-14 10:21:29
|
显示全部楼层
扩展还有个问题,这两个扩展是不同作者维护的。双击关闭页面的时候,如果鼠标刚好在链接上,那么这个链接会打开两次然后关闭当前页面。
最理想的效果是双击的时候执行关闭功能,不要再执行单击功能了。
下面是以前在FF中的代码:
- //==================================================
- // 右击:单击打开链接,双击关闭页面
- //==================================================
- (function() {
- var clickNo = 0;
- var resetId;
- var x = true; // false: 前台 | true: 后台
- function $(id) {return document.getElementById(id)};
-
- //右击链接新开
- gBrowser.mPanelContainer.addEventListener('click', function(e) {
- if (!e.ctrlKey && e.button == 2) {
- clickNo++;
- if (clickNo == 1) {
- resetId = setTimeout(function() {
- clickNo = 0;
- 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.stopPropagation();
- $("contentAreaContextMenu").hidePopup();
- gBrowser.loadOneTab(href, {inBackground: x, relatedToCurrent: true});
- }
- }, 300);
- } else if (clickNo == 2) {
- clickNo = 0;
- clearTimeout(resetId);
- }
- }
- else
- clickNo = 0;
- }, false);
-
- //右键双击关闭
- gBrowser.mPanelContainer.addEventListener("dblclick", function(e) {
- if (!e.ctrlKey && e.button == 2) {
- e.preventDefault();
- document.getElementById("cmd_close").doCommand();
- document.getElementById("contentAreaContextMenu").hidePopup();
- }
- }, false);
- })();
复制代码 |
|