我正在研究Firefox的协议处理程序,我就像这样调用资源:
var ioservice = Cc["@mozilla.org/network/io-service;1"]
.getService(Ci.nsIIOService);
var uri = ioservice.newURI('http://someurl'+someparams, null, null);
问题是我希望用户看到我的协议处理程序 - 比如protocol:params
而不是真正的URL。
答案 0 :(得分:1)
问题是您的nsIProtocolHandler.newChannel()
实现返回了一个常规的HTTP通道 - 它与HTTP URL而不是您的URL相关联。这很容易解决,但是将channel.originalURI
设置为您的网址(您获得的newChannel()
参数)。