目前尚无标准化的 URL Scheme(如 search://)可自动调用用户浏览器默认的搜索引擎,HTML 规范中虽有相关提案(WHATWG Issue #7652),但尚未获得主流浏览器厂商的实现支持。

目前尚无标准化的 URL Scheme(如 search://)可自动调用用户浏览器默认的搜索引擎,HTML 规范中虽有相关提案(WHATWG Issue #7652),但尚未获得主流浏览器厂商的实现支持。
写技术文档、博客或者 README 时,常常会顺手塞进一个搜索链接,方便读者立刻去核实某个概念。比如这类表达:“如果这个方法真的有效,你大概率不会看到Moiré patterns。”但问题也恰恰出在这里:一旦把 https://google.com/search?q=... 这种地址直接写死,限制就很明显了。它默认所有人都用 Google,却完全绕开了用户自己设定的默认搜索引擎,像 Bing、DuckDuckGo、Baidu,甚至 Edge 里集成的必应,都被一并忽略了。
遗憾的是,不存在跨浏览器兼容的原生协议(如 search://Moiré%20pattern 或 web+search://...)。尽管 WHATWG 社区早在 2024 年就提出了正式功能请求(Issue #7652),提议引入 search: URL Scheme 并由浏览器根据用户偏好解析,但该提案至今仍处于 needs implementer interest 状态——即缺乏 Chrome、Firefox、Safari 等核心引擎团队的明确支持承诺。
✅ 当前可行方案(推荐):
保持 HTTPS 链接,但注明“在您首选搜索引擎中搜索”
Moiré pattern
并在文案中补充说明(如括号注释),兼顾可访问性与透明度。
利用 Ja vaScript 动态生成(仅限网页环境,不适用于纯 Markdown/静态文档)
// 注意:此方法依赖 na vigator.userAgent 和启发式判断,不可靠且不推荐用于生产 function getSearchUrl(query) { const enc = encodeURIComponent(query); const engine = window.location.search.includes('bing') ? 'https://bing.com/search?q=' : window.location.search.includes('ddg') ? 'https://duckduckgo.com/?q=' : 'https://google.com/search?q='; return engine + enc; }⚠️ 此类启发式跳转违反 Web 标准原则(无法获知用户真实偏好),且在隐私模式、第三方浏览器或扩展屏蔽下极易失效,不建议采用。
? 关键结论:
统一、标准化的 search:// 协议,方向是对的,而且确实已经到了很有必要推进的时候,只是到目前为止,它还没有真正落地。对内容作者来说,更稳妥的做法仍然是:优先给出一个可靠、可被索引的搜索引擎链接(更推荐 Google 或 DuckDuckGo,因为它们对 Unicode 和特殊字符的兼容性通常更稳定),同时在上下文里用文字提醒用户“也可以在您平时习惯使用的搜索引擎中继续检索”,这样既能保证链接本身可用,也能把用户的选择权保留下来。 如果认可这个需求,可以前往 WHATWG Issue #7652 补充真实使用场景,推动相关标准继续演进。
