语言: HTML | XAML

如何加载文件资源 (HTML)

Applies to Windows and Windows Phone

学习从各个位置加载文件资源。

你可以访问以下应用文件中的文件资源:作为应用包的一部分传递的文件、包含为 SDK 或框架包一部分的文件、来自应用程序状态的文件或来自 Web 的文件。你可以在标记(例如 HTML 或通知 XML)中或通过代码(例如 XmlHttpRequest 或 storage file APIs)引用这些文件。下面的示例显示了特定上下文中的文件资源,但是你可以在各种其他上下文中使用大多数资源。

Web

要访问来自 Web 的文件,你可以使用标准的绝对 HTTP URI。

<img src="http://www.contoso.com/images/logo.png" alt="Logo" />

应用程序包

要访问来自应用程序包的文件,你可以使用直接或逻辑文件路径引用资源。即使文件有多种语言、比例、对比度或其他变体也可以这样做。请参阅快速入门:使用文件或图像资源了解相关说明。

例如,加载

Images/en-US/homeregion-USA/logo.scale-100_contrast-white.png

时引用

Images/logo.png

要相对于当前文档访问文件,你可以使用相对 URI。

<img src="images/logo.png" />

要相对于包的根目录访问文件,你可以使用绝对路径 URI(以 "/" 开头的 URI)。

<img src="/images/logo.png" />

要从一个类库访问存储在同一个包中的文件,可使用类库名称:

<img src="/ClassLibraryName/images/logo.png" />

要访问存储在应用程序包中的文件,但是从没有任何基文档 URI 的代码中访问,请指定 ms-appx: 架构。


var uri = new Windows.Foundation.Uri('ms-appx:///images/logo.png');
var file = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri);

要访问存储在框架包中的文件,请使用绝对 URI。

<script src="ms-appx://Microsoft.WinJS.1.0/js/ui.js"></script>

要访问将加载到 Web 区域中的文件,请使用 ms-appx-web: 架构。

<iframe src="ms-appx-web:///html/webcompartment.html"></iframe>

要访问与当前文档相同的 Web 或本地区域中的文件,请不要指定架构。

<script src="//Microsoft.WinJS.1.0/js/ui.js"></script>

应用程序状态

要访问存储在应用程序状态中的文件,请使用 ms-appdata: 架构。 应用程序状态可能存储在本地文件夹、漫游文件夹或临时文件夹中。

要访问存储在本地文件夹中的文件:

<img src="ms-appdata:///local/images/logo.png" />

要访问存储在漫游文件夹中的文件:

<img src="ms-appdata:///roaming/images/logo.png" />

要访问存储在临时文件夹中的文件:

<img src="ms-appdata:///temp/images/logo.png" />

storage file APIs 可以采用相同的方式访问应用程序包中的文件:


var uri = new Windows.Foundation.Uri('ms-appdata:///local/images/logo.png');
var file = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri);

事件和上下文更改

你的应用负责更新其资源的显示(如有必要)。

Windows 应用商店应用在系统更改时可能处于运行状态,如用户打开高对比度时。这将导致应用使用一组不同的限定符。各种系统更改将调用 ResourceContext 对象上的事件。

在 JavaScript 中,监听这些事件的最简单方式是通过

WinJS.Resources.addEventListener('contextchanged', refresh, false);

当上下文更改时,不会自动更新图像元素,应用程序负责替换这些图像。CSS 媒体查询是一个将立即更新 CSS 属性(如背景图像)的替代方法。

 

 

显示:
© 2014 Microsoft