通过从本地存储调用其副本来重新加载 Windows 应用商店应用

Reloading windows store app by calling its copy from Local storage

本文关键字:应用 新加载 加载 Windows 本来 存储 副本 调用      更新时间:2023-09-26
window.location="C:'Users'User'AppData'Local'Packages'Package-name'LocalState'package'app'screens'firstpage.html";

这给了我一个拒绝访问的异常。

Windows 应用商店应用不能使用绝对文件路径。引用本地存储的正确方法是使用 ms-appdata:///local/。ms-appx:///对包内内容执行相同的操作。

但是,Windows 不允许应用像这样从本地存储加载/刷新自身,因此即使使用正确的 URI,也会出现异常。

您真正想要做的是在应用中呈现动态 HTML 内容,为此您需要改用 x-ms-webview 元素。Web 视图可以从本地存储加载 HTML/CSS/JS。需要注意的是,它无权访问 WinRT API(它是沙盒化的(,但你可以让应用和 Web 视图通过它的 invokeScriptAsync 方法(在 webview 中调用代码(和 window.external.notify (在 Web 视图中调用以引发应用中的 MSWebViewScriptNotify 事件(进行通信。

有关详细信息,请参阅我的免费电子书《使用 HTML、CSS 和 JavaScript 对 Windows 应用商店应用进行编程,第 2 版,第 195 页》中"动态内容"部分中的第 4 章。