您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show Google search syntax on Google homepage and search results page, with resizable and draggable functionality
// ==UserScript== // @name Google Search Syntax Helper // @namespace http://tampermonkey.net/ // @version 1.5 // @description Show Google search syntax on Google homepage and search results page, with resizable and draggable functionality // @author 而今迈步从头越 // @match https://www.google.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // Google search syntax text const syntaxText = ` <div id="syntax-helper" style=" position: fixed; background: white; border: 1px solid #ccc; padding: 10px; z-index: 9999; width: 300px; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); top: 10px; right: 350px; resize: both; overflow: auto; "> <div id="syntax-header" style=" cursor: move; background: #f1f1f1; padding: 5px; border-bottom: 1px solid #ccc; "> <strong>Google 搜索语法:</strong> </div> <ul style="padding-left: 20px;"> <li><code>"关键词"</code> - 精确匹配关键词</li> <li><code>关键词1 OR 关键词2</code> - 匹配任一关键词</li> <li><code>-关键词</code> - 排除某个关键词</li> <li><code>site:example.com</code> - 只在指定网站搜索</li> <li><code>filetype:pdf</code> - 搜索特定文件类型</li> <li><code>related:example.com</code> - 查找相似网站</li> <li><code>define:词汇</code> - 查询词汇定义</li> <li><code>intitle:关键词</code> - 标题中包含关键词</li> <li><code>inurl:关键词</code> - URL中包含关键词</li> </ul> </div> `; // Append the syntax helper to the body document.body.insertAdjacentHTML('beforeend', syntaxText); // Make the syntax helper draggable const syntaxHelper = document.getElementById('syntax-helper'); const syntaxHeader = document.getElementById('syntax-header'); syntaxHeader.addEventListener('mousedown', function(e) { let offsetX = e.clientX - syntaxHelper.getBoundingClientRect().left; let offsetY = e.clientY - syntaxHelper.getBoundingClientRect().top; function mouseMoveHandler(e) { syntaxHelper.style.left = `${e.clientX - offsetX}px`; syntaxHelper.style.top = `${e.clientY - offsetY}px`; } function mouseUpHandler() { document.removeEventListener('mousemove', mouseMoveHandler); document.removeEventListener('mouseup', mouseUpHandler); } document.addEventListener('mousemove', mouseMoveHandler); document.addEventListener('mouseup', mouseUpHandler); }); // Ensure the syntax helper is positioned within the viewport on load window.addEventListener('load', function() { const rect = syntaxHelper.getBoundingClientRect(); if (rect.right > window.innerWidth) { syntaxHelper.style.right = '10px'; } if (rect.bottom > window.innerHeight) { syntaxHelper.style.bottom = '10px'; } }); })();