Wes*_*ley 6 google-chrome google-chrome-extension
是否有方法可以像在Firefox中一样注册带有谷歌浏览器扩展的自定义协议:
const kSIMPLEURI_CONTRACTID = "@mozilla.org/network/simple-uri;1";
const kIOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
const nsISupports = Components.interfaces.nsISupports;
const nsIIOService = Components.interfaces.nsIIOService;
const nsIProtocolHandler = Components.interfaces.nsIProtocolHandler;
const nsIURI = Components.interfaces.nsIURI;
Run Code Online (Sandbox Code Playgroud)
我想要协议:
XYZ:
不是xyz://
这可能吗?
Chrome没有提供为该xyz:方案设置自定义处理程序的方法。
尽管有一些方法可以模拟行为:
xyz:...。使用webRequestAPI拦截所有请求并将其从默认搜索提供程序重定向到自定义URL。我正在使用这种方法来捕获通配符搜索关键字,但是它也可以用于支持伪造方案。不幸的是,该扩展名非常特定于用户的搜索设置,因为它会执行以下操作:
Redirect http://google.com/search?q=xyz%3Awhatever
to chrome-extension://.../whatever
Run Code Online (Sandbox Code Playgroud)在这两种情况下,您都不会xyz:whatever在多功能框中看到。
navigator.registerProtocolHandler应该是注册xyz:处理程序的最佳方法。不幸的是,目前它是非常有限的。自定义协议必须以开头web+。还请查看此API 的未解决错误列表。
| 归档时间: |
|
| 查看次数: |
3977 次 |
| 最近记录: |