如何创建可触发Chrome自定义搜索引擎快捷指令及指定搜索词的链接?
如何创建可触发Chrome自定义搜索引擎快捷指令及指定搜索词的链接?
嘿,这个问题我之前折腾过好一阵子!直接把xx term写进链接的href里肯定行不通,浏览器会把它当成无效的URL处理,根本不会触发Chrome的自定义搜索快捷指令。给你两种靠谱的解决思路:
方法一:直接使用自定义搜索引擎的实际URL(最推荐)
这是最简单也最有效的方式,本质就是绕过快捷指令,直接调用搜索引擎的搜索接口:
- 第一步,找到你的自定义搜索引擎的URL模板:
打开Chrome的设置页面,依次进入「搜索引擎」→「管理搜索引擎和网站搜索」,找到你设置了快捷词“xx”的那个搜索引擎条目,复制它的「URL」字段(这个字段里会有个%s,这是搜索词的占位符,比如可能是https://www.google.com/search?q=%s或者某个小众搜索引擎的地址)。 - 第二步,把链接的
href替换成这个URL,同时把%s换成你要搜索的具体term。比如你的term是“机器学习”,那最终的HTML链接代码就是:
点击这个链接,默认浏览器会直接打开对应的搜索结果页面,效果和你在Chrome地址栏输入<a href="https://www.google.com/search?q=机器学习">用xx搜索机器学习</a>xx 机器学习完全一致。
方法二:模拟地址栏输入效果(适合特殊需求)
如果你特别希望点击链接后,浏览器地址栏显示的是xx term而不是直接的搜索URL,那普通的外部文档链接没法直接实现——因为Chrome的快捷指令是内部解析的,外部链接没法直接触发地址栏的输入行为。不过可以用Chrome书签曲线救国:
- 创建一个Chrome书签,把书签的网址设为
javascript:location.href='https://你的搜索URL模板'.replace('%s','你的term')(替换成你自己的URL和term),比如:
把这个书签拖到Chrome的书签栏,点击它就能触发搜索,虽然地址栏最终还是会显示搜索URL,但操作体验更接近手动输入快捷指令。不过这个方法没法直接放到外部文档里,文档里还是得用方法一的链接。javascript:location.href='https://www.google.com/search?q=%s'.replace('%s','机器学习')
顺便说下你之前尝试失败的原因:<a href="xx term">xx term</a>这种写法,浏览器会把xx term当成相对路径或者未知协议,自然无法识别成Chrome的快捷指令,必须用实际的可访问URL才行。
备注:内容来源于stack exchange,提问作者Matthew Schwarz




