您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在搜索引擎页面添加 Google、Bing、Baidu、Github 搜索按钮,方便切换搜索引擎
// ==UserScript== // @name 搜索引擎一键切换 // @version 0.1 // @description 在搜索引擎页面添加 Google、Bing、Baidu、Github 搜索按钮,方便切换搜索引擎 // @author Hooper // @license MIT // @match https://www.google.com/search?* // @match https://www.baidu.com/s?* // @match https://*.bing.com/search?* // @match https://github.com/search?* // @grant none // @namespace https://greasyfork.org/users/744849 // ==/UserScript== (function () { // 获取搜索关键词 const keyword = getKeyword(); // 创建浮窗 const div = document.createElement('div'); div.innerHTML = ` <span><a href="${getGoogleUrl(keyword)}">Google</a></span> <span><a href="${getBingUrl(keyword)}">Bing</a></span> <span><a href="${getBaiduUrl(keyword)}">Baidu</a></span> <span><a href="${getGithubUrl(keyword)}">Github</a></span> `; div.id = "search-panel"; // 添加ID以便于CSS选择器引用 div.style.position = 'fixed'; div.style.top = '300px'; div.style.left = '10px'; div.style.padding = '4px'; div.style.backgroundColor = '#fff'; div.style.border = '1px solid #ccc'; div.style.borderRadius = '4px'; div.style.zIndex = '9999'; div.style.display = 'flex'; div.style.flexDirection = 'column'; div.style.alignItems = 'center'; div.style.justifyContent = 'center'; div.style.boxShadow = '0 2px 10px rgba(0, 0, 0, 0.1)'; // 增加阴影效果 div.style.color = '#333'; // 鼠标悬停样式 const links = div.querySelectorAll('a'); // 获取所有的链接元素 // 实体化按钮样式(仅针对示例,实际应用可能还需要更多定制) links.forEach(link => { link.style.display = 'inline-block'; link.style.textDecoration = 'none'; // 去除下划线 link.style.padding = '2px 4px'; link.style.borderRadius = '4px'; link.style.backgroundColor = 'transparent'; link.style.marginTop = '8px'; link.style.borderWidth = '1px'; link.style.borderColor = '#ccc'; link.addEventListener('mouseover', function () { this.style.backgroundColor = '#f5f5f5'; // 鼠标悬停时添加背景色 this.style.borderColor = '#adadad'; // 边框颜色变化 }); link.addEventListener('mouseout', function () { this.style.backgroundColor = 'transparent'; // 恢复背景色 this.style.borderColor = '#ccc'; // 边框颜色恢复 }); }); let initialMousePosition = { x: 0, y: 0 }; let isDragging = false; // Add a 'mousedown' event listener to the div to start dragging div.addEventListener('mousedown', function (event) { // Record the initial mouse position console.log('mousedown'); console.log('event.clientX', event.clientX); initialMousePosition.x = event.clientX; initialMousePosition.y = event.clientY; isDragging = true; event.preventDefault(); // Prevent text selection while dragging }); document.addEventListener('mousemove', function (event) { if (isDragging) { // Calculate the new position of the div var dx = event.clientX - initialMousePosition.x; var dy = event.clientY - initialMousePosition.y; var top = parseInt(div.style.top, 10) + dy; var left = parseInt(div.style.left, 10) + dx; // Update the div's position div.style.top = `${top}px`; div.style.left = `${left}px`; // Update the initial mouse position initialMousePosition.x = event.clientX; initialMousePosition.y = event.clientY; } }); document.addEventListener('mouseup', function () { isDragging = false; }); document.body.appendChild(div); // 获取 Google 搜索链接 function getGoogleUrl(keyword) { return `https://www.google.com/search?q=${keyword}`; } // 获取百度搜索链接 function getBaiduUrl(keyword) { return `https://www.baidu.com/s?wd=${keyword}`; } // 获取 Bing 搜索链接 function getBingUrl(keyword) { return `https://cn.bing.com/search?q=${keyword}`; } // 获取 Github 搜索链接 function getGithubUrl(keyword) { return `https://github.com/search?q=${keyword}`; } // 获取搜索关键词 function getKeyword() { const url = new URL(location.href); const params = new URLSearchParams(url.search); return params.get('q') || params.get('wd') || '' } })();