千叶幸树
小狐狸
小狐狸
  • UID54294
  • 注册日期2016-06-17
  • 最后登录2016-10-14
  • 发帖数14
  • 经验22枚
  • 威望0点
  • 贡献值30点
  • 好评度0点
阅读:3298回复:17

可以使用鼠标中键在当前页任意位置点击后关闭当前标签吗?

楼主#
更多 发布于:2016-08-29 11:49
当然,除了识别URL识别外,在当前页空白处点击中键后关闭当前标签,有这脚本么?
skofkyo
小狐狸
小狐狸
  • UID48081
  • 注册日期2014-12-02
  • 最后登录2017-02-15
  • 发帖数11
  • 经验10枚
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 社区居民
1楼#
发布于:2016-08-29 13:05
gBrowser.addEventListener("mousedown", function(event) {
    if (event.button === 1) {
        event.preventDefault();
        event.stopPropagation();
    }
}, true);
gBrowser.addEventListener("click", function(event) {
    var target = event.target.href;
    if (event.button === 1 && !target) {
        gBrowser.removeCurrentTab();
        this.isMouseDownM = false;
    }
}, true);
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
2楼#
发布于:2016-08-29 13:23
skofkyo:gBrowser.addEventListener("mousedown", function(event) {
    if (event.button === 1) {
        event.preventDefault();...
回到原帖
没判断是否空白处。用mouseup不行吗。

没弄懂该怎么判断 event.target
skofkyo
小狐狸
小狐狸
  • UID48081
  • 注册日期2014-12-02
  • 最后登录2017-02-15
  • 发帖数11
  • 经验10枚
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 社区居民
3楼#
发布于:2016-08-29 13:26
yfdyh000:没判断是否空白处。用mouseup不行吗。

没弄懂该怎么判断 event.target
回到原帖
忘了判断空白处怎写...太久没用了
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
4楼#
发布于:2016-08-29 14:40
用户被禁言,该主题自动屏蔽!
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
5楼#
发布于:2016-08-29 14:43
用户被禁言,该主题自动屏蔽!
skofkyo
小狐狸
小狐狸
  • UID48081
  • 注册日期2014-12-02
  • 最后登录2017-02-15
  • 发帖数11
  • 经验10枚
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 社区居民
6楼#
发布于:2016-08-29 14:58
使用排除法

(function() {
    var CustomBrowserClick = {
            TabClose: function(event) {
                var tar = event.target;
                var onlink = XULBrowserWindow.overLink;
                var node = document.commandDispatcher.focusedElement;
                var doc = tar.ownerDocument;
                if (event.button === 1) { //0左键1中键2右键
                    if (tar.href || tar.parentNode.href || /^https?/i.test(onlink.toString())) return; //排除链接
                    if (tar.nodeName.match(/img/i)) return; //排除图片
                    if (tar.localName == 'input' || node && (node.type == "text" || node.type == "textarea")) return; //排除文本框
                    if (tar.localName == 'HTML' || tar.localName == 'span' || tar.localName == 'a' || tar.localName == 'b' || tar.localName == 'p') return; //排除节点名
                    if (doc.contentType != 'text/plain' && doc.contentType != 'text/html' && doc.contentType != 'application/xml' && doc.contentType != 'application/xhtml+xml') return; //排除类型
                    if (getBrowserSelection()) return; //排除有选取文字
                    event.preventDefault();
                    event.stopPropagation();
                    //document.getElementById("contentAreaContextMenu").hidePopup();//关闭右键菜单
                    this.isMouseDownL = false; //取消按下左键
                    this.isMouseDownM = false; //取消按下中键
                    this.isMouseDownR = false; //取消按下右键
                    gBrowser.removeCurrentTab(); //关闭标签的代码
                }
            }
        }
    //页面点击事件
    gBrowser.mPanelContainer.addEventListener("click" /*click为单击 dblclick为双击*/ , CustomBrowserClick.TabClose, true);
    //取消按下中键自动滚屏
    gBrowser.mPanelContainer.addEventListener("mousedown", function(event) {
        if (event.button === 1) {
            event.preventDefault();
            event.stopPropagation();
        }
    }, true);
})();
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
7楼#
发布于:2016-08-29 15:04
用户被禁言,该主题自动屏蔽!
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
8楼#
发布于:2016-08-29 15:19
用户被禁言,该主题自动屏蔽!
千叶幸树
小狐狸
小狐狸
  • UID54294
  • 注册日期2016-06-17
  • 最后登录2016-10-14
  • 发帖数14
  • 经验22枚
  • 威望0点
  • 贡献值30点
  • 好评度0点
9楼#
发布于:2016-08-29 16:06
skofkyo:使用排除法

/*取消按下中键自动滚屏*/
gBrowser.addEventListener("mousedown", function(event) {
    if (event.button === 1) {//取消按下中键...
回到原帖
辛苦了,谢谢!
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
10楼#
发布于:2016-08-29 17:05
用户被禁言,该主题自动屏蔽!
skofkyo
小狐狸
小狐狸
  • UID48081
  • 注册日期2014-12-02
  • 最后登录2017-02-15
  • 发帖数11
  • 经验10枚
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 社区居民
11楼#
发布于:2016-08-29 17:44
mmd:gBrowser.mPanelContainer.addEventListener("dblclick",
     function(aEvent){
       if (aEvent.ctrlKey) return;
     ...
回到原帖
gBrowser.mPanelContainer.addEventListener("dblclick",
     function(aEvent){
       if (aEvent.ctrlKey) return;
       aEvent.stopPropagation();
       if (aEvent.button === 2) gBrowser.removeCurrentTab();
     }, false);
代码不都差不多吗...
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
12楼#
发布于:2016-08-29 18:12
用户被禁言,该主题自动屏蔽!
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
13楼#
发布于:2016-08-29 18:42
用户被禁言,该主题自动屏蔽!
千叶幸树
小狐狸
小狐狸
  • UID54294
  • 注册日期2016-06-17
  • 最后登录2016-10-14
  • 发帖数14
  • 经验22枚
  • 威望0点
  • 贡献值30点
  • 好评度0点
14楼#
发布于:2016-08-29 23:41
@skofkyo 在百度搜索结果使用中键点击结果页的URL内容时,有时会误关闭当前页标签,有时又不会,请问咋回事?虽然可以使用左键点击,但左键点击后是前台打开标签,而中键是后台打开,所以我习惯使用中键打开URL内容,大大可以解决下吗?
上一页
游客

返回顶部