什么是"资源://"网址方案?

时间:2014-09-26 08:41:56

标签: html url firefox url-scheme

我最近遇到了一个包含以下标记行的网页:

<script src="resource://ember-inspector-at-emberjs-dot-com/ember-inspector/data/in-page-script.js"></script>

请注意,URL中的方案是“资源”,并且该URL不适用于可通过Internet访问的内容。

这不是我以前遇到过的URL方案。尽管对此事进行了一些搜索,但我找不到有关此方案使用的任何信息。

“资源”计划的目的是什么?如果我是浏览器,我会怎么做?

1 个答案:

答案 0 :(得分:6)

资源:URI方案是Firefox独有的,并已在Firefox v3中注册。

它在内部使用,与chrome.manifest相关。

在Firefox中,在地址栏中输入此内容并导航到它..

resource:///

您应该找到本地Firefox用户配置文件的目录结构。

背景

Mozilla注册了多个URI方案。其中包括资源:和铬:(后者,更常见)

Chrome目录是任何Firefox安装的重要组成部分。 Chrome目录中包含数据文件,文档,脚本,图像等。所有这些文件都包含用户界面元素和本地用户数据。

但是chrome:// URI实际上只是鲜为人知的资源的一个特例:// URI指向平台安装区域的顶部。 chrome目录中的所有路径都必须以resource:或jar:

开头

Rapid Application Development with Mozilla written by Nigel McFarlane

中找到的信息

具体用例.. Emberjs

对于您提到的具体案例,您可以在此处找到更多详细信息:https://github.com/emberjs/ember-inspector/issues/82


问题

  

我们允许资源的可访问性:///指向   安装了Firefox附带的磁盘资源。我不知道是不是   当时支持备用资源别名,但我确定附加组件   没有使用它们,我们不支持资源别名   chrome.manifest(不存在)。

     

当我们将资源引入chrome.manifest时,我们应该添加   选项contentaccessible = yes机制同时:let   像镀铬一样,附加组件选择加入指纹稳定性   内容。不幸的是,我们所做的任何事情都可能存   搜索插件源我找到810个定义的chrome.manifest文件   自定义资源://位置。这么多的一个原因是因为它   由JetPack插件使用,所以我对其中的大部分都有些充满希望   不需要从内容中引用这些内容。   引自下面的参考文献2。


  

扩展需要使用资源的唯一原因是:将内容提供给Web内容。   引自下面的参考文献2。

直接来自Mozilla

在Mozilla,IANA或W3C的任何文档中,我都很难找到资源://。这是唯一的,只能直接提到资源的定义:我可以找到直接从Mozilla发布的。它是如此模糊,我拍了一个截图:)

enter image description here

进一步阅读:

  1. Bugzilla report on resource:// security vulnerability
  2. Another Bugzilla report (source of quote above)
  3. IANA resource:// Resource Identifier provision
  4. IANA Complete List of URI-Scheme Assignments