SafariKeywordSearch
软件描述
这是一个简单而强大的功能,可通过简单的关键词访问多个搜索引擎。例如,您可以在地址栏中输入 w monkeys 来搜索关于猴子的维基百科信息。
官方网站
访问软件的官方网站了解更多信息
safarikeywordsearch.aurlien.net
什么是 SafariKeywordSearch?
这是一个简单但功能强大的特性,可通过输入简短关键词访问多个搜索引擎。例如,您可以在地址栏输入“w monkeys”来在维基百科上搜索关于猴子的信息。
默认包含以下搜索:
a: amazon.com
d: duckduckgo.com
down: downforeveryoneorjustme.com
e: ebay.com
g: google.com
gm: maps.google.com
imdb: imdb.com
so: stackoverflow.com
w: en.wikipedia.org
wa: wolframalpha.com
y: youtube.com
您也可以在应用中添加自定义搜索。搜索关键词可置于搜索字符串之前(如 w monkeys)或之后(如 monkeys w)。
如果您想提交 PR,欢迎随时参与。提醒一下:本人完全没有任何 AppKit 和 macOS 开发经验,因此源代码看起来就像一家意大利面工厂里的垃圾场一样混乱。
奇怪的细节/限制等
该扩展的工作原理如下:
监听 beforeNavigate 事件
检查 URL 域名是否匹配 Safari 默认的搜索域名之一(Google、Bing、Yahoo、DuckDuckGo 或 Ecosia)
从 URL 中提取搜索字符串
检查搜索字符串是否包含任一关键词
迅速将标签页的 URL 替换为新的搜索 URL
由于当前 API 的限制,解析 URL 以获取搜索字符串并非最优方案,但这是唯一可行的方法。可能出现以下边缘情况/错误:
若输入多个关键词,扩展可能多次触发(例如输入 ddg g w monkey)
极少数情况下,主搜索引擎会在扩展执行前加载到标签页中(我仅见过几次)
之前的 Safari 扩展 API 拥有更便捷的 beforeSearch 事件。正在阅读此说明的 Safari 开发者们:大家好!

