0

我的组织已经开发了 iOS 和 Android 应用程序,并开始开发适用于 Windows 8 的应用程序。以防万一,该应用程序正在使用 Phonegap aka Cordova。在现有的应用程序上,用户从商店下载一个非常“纤细”的应用程序,其中包含一个最小的 HTML 页面。用户登录到服务器,然后动态添加脚本标签,指向该服务器上的位置。与 Web 应用程序类似,脚本被下载到客户端然后执行。

Windows 8 的新安全模型阻止了这种行为。由于应用程序在本地上下文中运行并且脚本在 Web 上,因此我收到错误消息“应用程序无法在本地上下文中加载远程 Web 内容”。

有没有办法绕过这个限制?

在某种程度上,我对“创造性”的建议和技巧持开放态度。我已经尝试了一些事情,例如使用普通的 XHR 调用获取脚本,然后将响应注入到预定义的脚本标签。Windows 阻止了此尝试和所有其他尝试。

我还考虑过使用“ms-appx-web:”方案在 iframe 中渲染所有内容(在此处了解此方案,“方案和上下文”部分)。这可能允许我加载远程脚本,但会阻止代码访问本地运行的 JavaScript 代码的 API——Cordova 和 Windows 运行时。我的应用程序需要此访问权限。如果有一种从 Web 上下文访问 Cordova 和 Windows 运行时的方法,那也可能很有用。

4

1 回答 1

0

我非常怀疑。

MS Windows Store 认证模型的全部意义在于他们可以测试您的代码是否存在恶意软件/崩溃。如果您可以即时更改代码,您可以发布一个完全无害的应用程序,让其通过 MS 认证,然后在用户安装后将其更改为可怕的东西。

于 2013-07-16T04:24:29.430 回答