Enables site search for Arc browser; only redirects when shortcuts are used
当前为
// ==UserScript==
// @name Enhanced Site Search for Arc Browser (No Shortcut, No Action)
// @namespace http://tampermonkey.net/
// @version 0.7
// @description Enables site search for Arc browser; only redirects when shortcuts are used
// @author Your Majesty's Loyal Assistant
// @match *://*/*
// @grant none
// @run-at document-start
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Your original search engine shortcuts
const searchEngines = [
{ shortcut: ':y', url: 'https://www.youtube.com/results?search_query=%s' },
{ shortcut: ':p', url: 'https://pahe.ink/?s=%s' },
{ shortcut: ':m', url: 'https://mkvdrama.org/?s=%s' },
{ shortcut: ':ss', 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
})();