拖拽搜索或打开链接

拖拽文本时百度搜索,拖拽链接时打开链接,不显示禁止符号

// ==UserScript==
// @name         拖拽搜索或打开链接
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  拖拽文本时百度搜索,拖拽链接时打开链接,不显示禁止符号
// @match        *://*/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    let draggedText = '';

    // 监听拖拽开始事件
    document.addEventListener('dragstart', function(event) {
        // 设置一个空的拖拽图像来隐藏默认的禁止符号
        var img = new Image();
        img.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
        event.dataTransfer.setDragImage(img, 0, 0);

        // 获取拖拽的文本
        draggedText = event.dataTransfer.getData('text/plain') || event.target.href || event.target.textContent;
    });

    // 监听拖拽结束事件
    document.addEventListener('dragend', function(e) {
        if (draggedText) {
            // 检查是否是有效的URL
            if (isValidURL(draggedText)) {
                // 如果是有效的URL,则在新标签页中打开
                window.open(draggedText, '_blank');
            } else {
                // 如果不是URL,则进行百度搜索
                var searchUrl = 'https://www.baidu.com/s?wd=' + encodeURIComponent(draggedText);
                window.open(searchUrl, '_blank');
            }
        }
        // 重置draggedText
        draggedText = '';
    });

    // 检查字符串是否为有效的URL
    function isValidURL(string) {
        try {
            new URL(string);
            return true;
        } catch (_) {
            return false;
        }
    }

    // 阻止默认的拖拽行为
    document.addEventListener('dragover', function(event) {
        event.preventDefault();
    });

    document.addEventListener('drop', function(event) {
        event.preventDefault();
    });
})();