
本文详解如何在浏览器地址栏中使用 javascript 命令(javascript: 协议)实现一键打开两个(或多个)带搜索关键词的网页,适用于快速定制搜索引擎快捷方式(如 dd 某词 跳转 google + bing),并规避弹窗拦截、语法错误等常见问题。
本文详解如何在浏览器地址栏中使用 javascript 命令(javascript: 协议)实现一键打开两个(或多个)带搜索关键词的网页,适用于快速定制搜索引擎快捷方式(如 dd 某词 跳转 google + bing),并规避弹窗拦截、语法错误等常见问题。
在日常搜索场景中,我们常希望对同一关键词同时在多个搜索引擎(如 Google 和 Bing)中比对结果。虽然浏览器原生不支持多引擎并行搜索,但可通过地址栏执行 JavaScript 命令实现「一键双开」——即输入一条 javascript: 指令,自动打开两个预设 URL,并将用户输入的关键词动态注入其中。
首先,修正原始代码中的关键错误:
✅ 推荐写法(可直接粘贴至 Chrome/Firefox 地址栏):
javascript:(function(){const q=prompt('请输入搜索词');if(q){window.open('https://www.google.com/search?q='+encodeURIComponent(q));window.open('https://www.bing.com/search?q='+encodeURIComponent(q));}})();
? 说明:
。弹窗拦截器必须临时禁用:现代浏览器默认阻止 window.open() 的非用户手势触发调用。地址栏执行属于“用户发起”,但若弹窗拦截器过于激进(如某些安全插件),仍会拦截第二窗口。建议:
书签化推荐(最佳实践):
将上述代码保存为书签,名称如 ? 双搜,URL 填入完整 javascript:... 代码。之后只需点击书签,即可交互式搜索——既规避地址栏长度限制,又提升复用性与安全性。
扩展性提示:如需添加第三个引擎(如 DuckDuckGo),只需追加一行:
window.open('https://duckduckgo.com/?q=' + encodeURIComponent(q));
通过 javascript: 协议在浏览器中实现多窗口搜索,核心在于:语法严谨(闭合、无递归)、编码安全(encodeURIComponent)、触发合规(用户主动行为)。避免直接在控制台调试后误迁至地址栏(控制台允许函数定义,地址栏不适用)。推荐优先采用「书签 + IIFE + prompt」组合方案,兼顾功能性、可用性与跨浏览器稳定性。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南