您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Highlight, drag, then release text to search in Google
- // ==UserScript==
- // @name Drag text to search
- // @version 1.1
- // @description Highlight, drag, then release text to search in Google
- // @author Ryan Buening
- // @license MIT
- // @namespace https://github.com/ryanbuening/userscripts
- // @run-at document-start
- // @include *
- // ==/UserScript==
- (function() {
- const isTextArea = element => ['email', 'number', 'password', 'search', 'tel', 'text', 'url', 'textarea'].includes(element.type) && !element.disabled;
- const handleDragOver = event => {
- if (event.dataTransfer.types.includes('text/uri-list')) {
- event.dataTransfer.dropEffect = 'link';
- event.preventDefault();
- } else if (event.dataTransfer.types.includes('text/plain') && !isTextArea(event.target)) {
- event.dataTransfer.dropEffect = 'link';
- event.preventDefault();
- }
- };
- const handleDrop = event => {
- if (event.dataTransfer.types.includes('text/uri-list')) {
- const url = event.dataTransfer.getData('URL');
- //console.log("url: " + url);
- if (!url.includes("about:")) {
- // window.open(url, '_blank');
- // event.preventDefault();
- }
- } else if (event.dataTransfer.types.includes('text/plain') && !isTextArea(event.target)) {
- const keyword = event.dataTransfer.getData('text/plain');
- const url = 'https://www.google.com/search?q=%s'.replace(/%s/gi, encodeURIComponent(keyword));
- window.open(url, '_blank');
- event.preventDefault();
- }
- };
- document.addEventListener('dragover', handleDragOver, false);
- document.addEventListener('drop', handleDrop, false);
- })();