mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
1320楼#
发布于:2016-08-05 17:53
用户被禁言,该主题自动屏蔽!
NoxCaelum
小狐狸
小狐狸
  • UID49409
  • 注册日期2015-03-16
  • 最后登录2016-12-13
  • 发帖数1
  • 经验1枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1321楼#
发布于:2016-08-06 13:52
感谢楼主,被禁用两次了,才想到要更新...
wccy0052
火狐狸
火狐狸
  • UID37027
  • 注册日期2011-08-20
  • 最后登录2020-04-20
  • 发帖数153
  • 经验180枚
  • 威望0点
  • 贡献值108点
  • 好评度69点
  • 社区居民
  • 忠实会员
1322楼#
发布于:2016-08-08 10:30
mmd:官方上不了架,这里还时常被高高顶起,不用为好。回到原帖
那有什么可以代替吗?
tulip17
千年狐狸
千年狐狸
  • UID34021
  • 注册日期2010-09-17
  • 最后登录2024-05-03
  • 发帖数980
  • 经验678枚
  • 威望1点
  • 贡献值420点
  • 好评度51点
  • 社区居民
  • 忠实会员
1323楼#
发布于:2016-08-08 12:57
mmd:官方上不了架,这里还时常被高高顶起,不用为好。回到原帖
官方没上架原因楼主旧帖有说明,这个是最方便的拖曳扩展,使用者相当多,有问题都来这反馈,当然常会被顶起,这有何奇怪的
ctgcvs
小狐狸
小狐狸
  • UID36676
  • 注册日期2011-07-06
  • 最后登录2016-09-28
  • 发帖数7
  • 经验16枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1324楼#
发布于:2016-08-11 01:39
替代方案


Fire Drag 0.1.2



作者: Eric Tsang


drag texts and links with/without e10s
https://addons.mozilla.org/zh-cn/firefox/addon/fire-drag/?src=userprofile
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
1325楼#
发布于:2016-08-11 13:53
用户被禁言,该主题自动屏蔽!
Hopling
小狐狸
小狐狸
  • UID42325
  • 注册日期2013-11-23
  • 最后登录2017-03-05
  • 发帖数2
  • 经验2枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1326楼#
发布于:2016-08-15 01:00
Hey,
I love Easy DragToGo and use it every day and miss it whenever I have to work with another browser.
There's just one thing I miss with it and that's a way to disable it on certain pages or domains.
Would it be possible for you to add something like a blacklist?
Or is there a command I can use with a hotkey (with keyconfig) to temporarily disable or toggle the add-on?
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
1327楼#
发布于:2016-08-15 09:07
用户被禁言,该主题自动屏蔽!
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
1328楼#
发布于:2016-08-15 10:53
Hopling:Hey,
I love Easy DragToGo and use it every day and miss it whenever I have to work with another browser.
There's just ...
回到原帖
Wow... maybe your mother tongue isnt english? :D
I had installed and tested the addon, sadly... it dont be disabled by hotkey, and cant add it to blacklist on a website, because it haven't the functions, author last updated at 21/12/2015.
so... u know mean...
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
1329楼#
发布于:2016-08-17 18:09
mmd://拖拽
 
location == "chrome://browser/content/browser.xul" && (function(event) {
    var self = arguments.callee;
   ...
回到原帖
紫云飞这个解决方案不错,至少50a2下还能用
稍微改了下,新增了一个类似ETG的超时的小功能
拖拽操作的脚本是我自己的配置,有需要可自取




// ==UserScript==
// @id             DragToGo
// @version        0.1
// @namespace      DragToGo@ziyunfei
// @author         ziyunfei
// @modifier       Byzod
// @description    DragToGo
// ==/UserScript==
 
if(location == "chrome://browser/content/browser.xul"){
    (function(event) {
        var self = arguments.callee;
        // Drag timeout, ms
        self.DRAG_TIMEOUT = 300;
        // Used for timeout
        self.dragTimeoutStart = function(){
            window.clearTimeout(self._Timer);
            self.readyForDrop = true;
            self._Timer = window.setTimeout(()=>{
                    self.readyForDrop = false;
                    // console.log("DragToGo: timeout(" + self._Timer + ") timeouted.");// DEBUG
                    // console.log("DragToGo: timeout event, readyForDrop: " + self.readyForDrop);// DEBUG
                }, self.DRAG_TIMEOUT);
            // console.log("DragToGo: timeout(" + self._Timer + ") started.");// DEBUG
        }
        
        if (!event) {
            ["dragstart", "dragover", "drop"].forEach(function(type) {
                gBrowser.mPanelContainer.addEventListener(type, self, false);
            });
            window.addEventListener("unload", function() {
                ["dragstart", "dragover", "drop"].forEach(function(type) {
                    gBrowser.mPanelContainer.removeEventListener(type, self, false);
                });
            }, false);
            return;
        }
        switch (event.type) {
        case "dragstart":
            {
                self.startPoint = [event.screenX, event.screenY];
                self.sourceNode = event.target;
                if(event.target.localName == "img"){
                    event.dataTransfer.setData("application/x-moz-file-promise-url", event.target.src);
                }
                self.dragTimeoutStart();
                break;
            }
        case "dragover":
            {
                if(self.startPoint && self.readyForDrop) {
                    Components.classes["@mozilla.org/widget/dragservice;1"]
                    .getService(Components.interfaces.nsIDragService)
                    .getCurrentSession().canDrop = true;
                }
                // Timeout check
                // console.log("DragToGo: Dragover event, readyForDrop: " + self.readyForDrop);// DEBUG
                break;
            }
        case "drop":
            {
                // Timeout check
                // console.log("DragToGo: Drop event, readyForDrop: " + self.readyForDrop);// DEBUG
                
                window.clearTimeout(self._Timer);
                
                if(!self.readyForDrop){
                    // Quit point
                    return;
                }
                
                self.readyForDrop = true;
                
                if (self.startPoint && event.target.localName != "textarea" && (!(event.target.localName == "input" && (event.target.type == "text" || event.target.type == "password"))) && event.target.contentEditable != "true") {
                    event.preventDefault();
                    event.stopPropagation();
                    var [subX, subY] = [event.screenX - self.startPoint[0], event.screenY - self.startPoint[1]];
                    var [distX, distY] = [(subX > 0 ? subX : (-subX)), (subY > 0 ? subY : (-subY))];
                    var direction;
                    if (distX > distY) direction = subX < 0 ? "L" : "R";
                    else direction = subY < 0 ? "U" : "D";
                    var aReferrerURI = gBrowser.currentURI;
                    if (event.dataTransfer.types.contains("application/x-moz-file-promise-url")) {
                        if (direction == "U") {
                            //前台搜索相似图片(Google)
                            gBrowser.selectedTab = gBrowser.addTab("https://www.google.com/searchbyimage?image_url=" + encodeURIComponent(event.dataTransfer.getData("application/x-moz-file-promise-url")), aReferrerURI);
                            return;
                        }
                        if (direction == "D") {
                            //保存图片到Q:\\Down
                            //saveImageURL(event.dataTransfer.getData("application/x-moz-file-promise-url"), null, null, null, null, null, document);
                            var aSrc = event.dataTransfer.getData("application/x-moz-file-promise-url");
                            var fileName = aSrc.substr(aSrc.lastIndexOf('/') + 1);
                            var fileSaving = Components.classes["@mozilla.org/file/local;1"].
                                    createInstance(Components.interfaces.nsILocalFile);
                            fileSaving.initWithPath("Q:\\Down");
                            fileSaving.append(fileName);
                            
                            var options = {
                                source: aSrc,
                                target: fileSaving,
                            };
                            Cu.import("resource://gre/modules/Downloads.jsm");
                            var downloadPromise = Downloads.createDownload(options);
                            downloadPromise.then(function success(d) {
                                d.start();
                                Notification.requestPermission(()=>{
                                    var n = new Notification(fileName + "已下载");
                                    setTimeout(n.close.bind(n), 1500);
                                });
                            });
                            return;
                        }
                        if (direction == "L") {
                            //后台打开图片
                            gBrowser.addTab(event.dataTransfer.getData("application/x-moz-file-promise-url").split("\n")[0],
                                aReferrerURI);
                            return;
                        }
                        if (direction == "R") {
                            //后台打开图片链接
                            if (event.dataTransfer.types.contains("text/x-moz-url")){
                                gBrowser.addTab(event.dataTransfer.getData("text/x-moz-url").split("\n")[0],
                                    aReferrerURI);
                            }
                            return;
                        }
                    } else if (event.dataTransfer.types.contains("text/x-moz-url")) {
                        if (direction == "U") {
                            //在当前标签打开链接
                            loadURI(event.dataTransfer.getData("text/x-moz-url").split("\n")[0]);
                            return;
                        }
                        if (direction == "D") {
                            //链接另存为
                            var doc = event.target.ownerDocument;
                            var ref = makeURI(doc.location.href, doc.characterSet);
                            saveURL(event.dataTransfer.getData("text/x-moz-url").split("\n")[0], null, null, true, false, ref, doc);
                            return;
                        }
                        if (direction == "L") {
                            //前台打开链接
                            gBrowser.selectedTab = gBrowser.addTab(event.dataTransfer.getData("text/x-moz-url").split("\n")[0],
                                aReferrerURI);
                            return;
                        }
                        if (direction == "R") {
                            //后台打开链接
                            gBrowser.addTab(event.dataTransfer.getData("text/x-moz-url").split("\n")[0],
                                aReferrerURI);
                            return;
                        }
                    } else {
                        var searchStr = event.dataTransfer.getData("text/unicode");
                        var searchStrInSite = "site:" + getTopWin().getBrowser().currentURI.host + " " + searchStr;
                        var Ss = Components.classes["@mozilla.org/browser/search-service;1"].getService(Components.interfaces.nsIBrowserSearchService);
                        var engine = Ss.currentEngine;
                        if (direction == "U") {
                            //搜索并高亮文字
                            gFindBar.onFindCommand();
                            setTimeout(()=>{gFindBar.toggleHighlight(false)}, 10);
                            setTimeout(()=>{gFindBar.toggleHighlight(true)}, 20);
                            return;
                        }
                        if (direction == "D") {
                            //复制文字
                            Components.classes["@mozilla.org/widget/clipboardhelper;1"]
                                .getService(Components.interfaces.nsIClipboardHelper)
                                .copyString(searchStr);
                            return;
                        }
                        if (direction == "L") {
                            //站内前台搜索文字
                            gBrowser.selectedTab = gBrowser.addTab(engine.getSubmission(searchStrInSite, null).uri.spec,
                                aReferrerURI);
                            return;
                        }
                        if (direction == "R") {
                            //后台搜索文字
                            gBrowser.addTab(engine.getSubmission(searchStr, null).uri.spec,
                                aReferrerURI);
                            return;
                        }
                    }
                    self.startPoint = 0;
                }
            }
        }
    })();
}
-いたんですか? -ええ、ずっと
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
1330楼#
发布于:2016-08-18 17:53
用户被禁言,该主题自动屏蔽!
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
1331楼#
发布于:2016-08-18 17:56
用户被禁言,该主题自动屏蔽!
aaa26999
小狐狸
小狐狸
  • UID33842
  • 注册日期2010-08-30
  • 最后登录2019-06-25
  • 发帖数6
  • 经验15枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
1332楼#
发布于:2016-08-20 14:47
不知道能不能兼容window10
whatUwant
小狐狸
小狐狸
  • UID30626
  • 注册日期2009-10-08
  • 最后登录2017-09-28
  • 发帖数2
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1333楼#
发布于:2016-08-20 17:12
tulip17:官方没上架原因楼主旧帖有说明,这个是最方便的拖曳扩展,使用者相当多,有问题都来这反馈,当然常会被顶起,这有何奇怪的回到原帖
能给个传送门吗?在第一页没有找到
tulip17
千年狐狸
千年狐狸
  • UID34021
  • 注册日期2010-09-17
  • 最后登录2024-05-03
  • 发帖数980
  • 经验678枚
  • 威望1点
  • 贡献值420点
  • 好评度51点
  • 社区居民
  • 忠实会员
1334楼#
发布于:2016-08-20 22:35
whatUwant:能给个传送门吗?在第一页没有找到回到原帖
31页,463楼
游客

返回顶部