您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在百度搜索时自动在搜索词后面加上 -李彦宏,支持地址栏搜索并避免自动触发搜索
// ==UserScript== // @name 百度搜索自动加上 -李彦宏 // @namespace http://tampermonkey.net/ // @version 1.9 // @description 在百度搜索时自动在搜索词后面加上 -李彦宏,支持地址栏搜索并避免自动触发搜索 // @author 你的名字 // @match *://www.baidu.com/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 检查并调整 -李彦宏 function checkAndAdjustLiYanhong() { const searchInput = document.getElementById('kw'); if (searchInput) { let searchQuery = searchInput.value; const liYanhong = ' -李彦宏'; // 如果搜索词中还没有 -李彦宏,则加上 if (!searchQuery.includes(liYanhong)) { searchQuery += liYanhong; searchInput.value = searchQuery; // 将光标定位在 -李彦宏 前面 const cursorPosition = searchQuery.length - liYanhong.length; searchInput.setSelectionRange(cursorPosition, cursorPosition); return true; // 表示进行了修改 } // 如果 -李彦宏 不在最后,则调整到前面 const liYanhongIndex = searchQuery.indexOf(liYanhong); if (liYanhongIndex !== searchQuery.length - liYanhong.length) { // 提取 -李彦宏 之前和之后的内容 const beforeLiYanhong = searchQuery.slice(0, liYanhongIndex); const afterLiYanhong = searchQuery.slice(liYanhongIndex + liYanhong.length); // 将 -李彦宏 调整到前面 searchQuery = beforeLiYanhong + afterLiYanhong + liYanhong; searchInput.value = searchQuery; // 将光标定位在 -李彦宏 前面 const cursorPosition = searchQuery.length - liYanhong.length; searchInput.setSelectionRange(cursorPosition, cursorPosition); return true; // 表示进行了修改 } } return false; // 表示没有进行修改 } // 拦截页面内搜索 function interceptSearch() { const searchForm = document.getElementById('form'); if (searchForm) { searchForm.addEventListener('submit', function(event) { // 检查并调整 -李彦宏 const isModified = checkAndAdjustLiYanhong(); // 如果搜索词被修改,则阻止默认行为并重新提交 if (isModified) { event.preventDefault(); searchForm.submit(); } // 否则允许默认行为 }); } } // 处理地址栏搜索 function handleAddressBarSearch() { const urlParams = new URLSearchParams(window.location.search); const query = urlParams.get('wd'); if (query && !query.includes(' -李彦宏')) { urlParams.set('wd', query + ' -李彦宏'); window.location.search = urlParams.toString(); } } // 初始化 function init() { checkAndAdjustLiYanhong(); // 检查并修正搜索词 interceptSearch(); // 拦截页面内搜索 handleAddressBarSearch(); // 处理地址栏搜索 } // 页面加载完成后初始化 init(); // 监听动态内容变化(适用于百度搜索结果页面的动态更新) const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList' && mutation.target === document.body) { // 重新初始化脚本 init(); } }); }); // 监听 body 的子节点变化 observer.observe(document.body, { childList: true }); })();