Firefox 在自己的协议处理程序中加载本地文件时出现安全错误

Firefox 在自己的协议处理程序中加载本地文件时出现安全错误,firefox,firefox-addon,local-files,protocol-handler,Firefox,Firefox Addon,Local Files,Protocol Handler,我正在创建一个Firefox插件,它注册了一个新的协议,可以从存储在磁盘上的文件(由二进制exe生成)向Firefox提供HTML 我对标签中的图像和(可能)引用本地文件的css样式有问题。它们加载不正确,我在errorconsole中收到如下消息: 安全错误:moz nullprincipal:{afde522e-6b29-4359-9959-c46c749687f6}上的内容可能无法加载或链接到file:///E:/xowa_app/user/anonymous/app/img/file/m

我正在创建一个Firefox插件,它注册了一个新的协议,可以从存储在磁盘上的文件(由二进制exe生成)向Firefox提供HTML

我对标签中的图像和(可能)引用本地文件的css样式有问题。它们加载不正确,我在errorconsole中收到如下消息:

安全错误:moz nullprincipal:{afde522e-6b29-4359-9959-c46c749687f6}上的内容可能无法加载或链接到file:///E:/xowa_app/user/anonymous/app/img/file/magnify-clip.png

我的协议标志:nsIProtocolHandler.URI_是本地文件| nsIProtocolHandler.URI_是本地资源| nsIProtocolHandler.URI|u STD | nsIProtocolHandler.URI_继承|安全|上下文。(我不知道我是否理解正确)


nsIProtocolHandler接口规范需要我在协议打开URI时实现创建新通道()的函数。我从位于磁盘上的URI(由程序生成的html)创建一个通道。该频道拥有“授予或拒绝特权”的所有者属性,我甚至将所有者设置为“通过所有安全检查”的系统主体(),但错误是相同的。

似乎删除URI会继承上下文标志(并将更改所有者保留为系统主体)解决了我的问题,尽管我不知道什么时候需要使用此标志。

删除URI\u继承了\u安全性\u上下文标志(并将更改所有者留给系统主体)似乎可以解决我的问题,尽管我不知道什么时候需要使用此标志