您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enables site-specific searches with shortcuts for Arc Browser or others. Efficiently handles search queries for various websites.
- // ==UserScript==
- // @name Universal Site Search for Arc Browser
- // @namespace http://tampermonkey.net/
- // @version 1.0
- // @description Enables site-specific searches with shortcuts for Arc Browser or others. Efficiently handles search queries for various websites.
- // @author Your Loyal Assistant
- // @match *://*/*
- // @grant none
- // @run-at document-start
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // Public search engine shortcuts
- const searchEngines = [
- { shortcut: '@youtube', url: 'https://www.youtube.com/results?search_query=%s' },
- { shortcut: '@bing', url: 'https://www.bing.com/search?q=%s' },
- { shortcut: '@duckduckgo', url: 'https://duckduckgo.com/?q=%s' },
- { shortcut: '@yandex', url: 'https://yandex.com/search/?text=%s' },
- { shortcut: '@perplexity', url: 'https://www.perplexity.ai/search?q=%s' },
- { shortcut: '@pahe', url: 'https://pahe.ink/?s=%s' },
- { shortcut: '@mkvdrama', url: 'https://mkvdrama.org/?s=%s' },
- { shortcut: '@subsource', url: 'https://subsource.net/search/%s' },
- ];
- // Parse the query string
- const params = new URLSearchParams(window.location.search);
- const query = params.get('q') || params.get('search_query') || params.get('text');
- if (!query) return;
- // Trim and process query
- const trimmedQuery = query.trim();
- // Match shortcuts with precision
- const engine = searchEngines.find(e => trimmedQuery.startsWith(e.shortcut + ' '));
- const searchQuery = engine ? trimmedQuery.replace(engine.shortcut, '').trim() : null;
- if (engine && searchQuery) {
- // Stop the current page load
- if (window.stop) window.stop();
- document.documentElement.innerHTML = '';
- // Redirect to the target URL
- const redirectUrl = engine.url.replace('%s', encodeURIComponent(searchQuery));
- location.replace(redirectUrl);
- // Prevent further script execution
- throw new Error('REDIRECT_COMPLETE');
- }
- // If no shortcut matched, do nothing and let the browser handle the query normally
- })();