Firefox addon Firefox扩展-chrome和资源协议的区别?
加载扩展脚本时,Firefox扩展中的“chrome://”、“resource://”和“file://”协议有什么区别?与具体问题无关,只是想找出不同之处。Firefox addon Firefox扩展-chrome和资源协议的区别?,firefox-addon,Firefox Addon,加载扩展脚本时,Firefox扩展中的“chrome://”、“resource://”和“file://”协议有什么区别?与具体问题无关,只是想找出不同之处。 chrome:首先是一种抽象,因为所有chrome:URI都由另一个URI支持,例如file:或jar:URI。chrome:协议还附加了一些特定的协议标志,这些标志定义了对安全性非常重要的某些方面(例如,如果允许http:重定向到chrome:,等等)。最后,chrome:分为内容,皮肤,locale每个注册的包名(三件事的总和),其
首先是一种抽象,因为所有chrome:
URI都由另一个URI支持,例如chrome:
或file:
URI。jar:
协议还附加了一些特定的协议标志,这些标志定义了对安全性非常重要的某些方面(例如,如果允许chrome:
重定向到http:
,等等)。最后,chrome:
分为chrome:
内容
,
皮肤
,
每个注册的包名(三件事的总和),其中locale
和skin
是特殊的,它们将自动解析为与当前skin和locale的最佳匹配(magic)。还有一些机制明确检查locale
协议并拒绝其他协议chrome:
与resource:
非常相似,但没有那么神奇(没有chrome:
/skin
东西,…),只是一个简单的替代品locale
uri只是普通的file:urifile:
资源:
uri加载(大多数资源:
uri用于加载js代码模块),因为模块加载程序仅支持该协议。另外,包括SDK插件在内的无重启插件(内部)利用了资源:
URI,因为在Firefox 8之前,无重启插件甚至无法正确注册chrome:
软件包
但是,现在您还可以从chrome:
加载js代码模块,因为模块加载程序和无重启加载项都支持chrome:
uri。
因此,除了遗留/兼容性原因之外,实际上没有太多需要继续使用或甚至必须从资源:
协议开始