在Google Chrome扩展程序中,我希望以与Omnibox工作方式相同或类似的方式处理自定义字符串。
我认为这最容易通过一些例子来证明:
http://example.org => We should open the website
example.org => We should also open the website
example.co.uk/test => We should also open the website
example => We should open the default search engine for that term
wp Test => Given that 'wp' is a shortcut for Wikipedia, we should
open the wiki page for 'Test'
基本上我想要实现的是永远不必再使用Omnibox,而是使用vimium提供的VIM启发的仅键盘导航,以及允许我导航到自定义页面的额外好处
现在实际上有两个问题:
Chrome API或讨厌的变通办法在多大程度上允许我避免和复制解析输入所需的逻辑?我可以利用,例如,现有的顶级列表级域或可用的URL方案?有没有办法让Chrome完成所有工作?毕竟,这些东西需要在Chrome内部,因为多功能框使用相同的算法。
如果我运气不好而且我必须自己实施逻辑,如何获得必要的信息,例如配置的默认搜索引擎或可用的快捷方式及其相关的网址格式字符串?
澄清一下:我不对解析算法本身的实现感兴趣。如果有必要的信息,那么实施算法毕竟不应该太难。