使用Cordova UWP应用程序访问本地网络



我有一个cordova应用程序(SPA(,需要向本地网络资源发出XmlHttpRequest。

如果应用程序处于远程模式,则我无法/不允许定义必要的privateNetworkClientServer功能(该应用程序在Windows应用商店中实际上被拒绝,因为我在启用远程模式时定义了此功能(。没有privateNetworkClientServer,对本地网络的XmlHttpRequest就无法工作。

如果应用程序处于本地模式,我可以定义必要的privateNetworkClientServer功能,但我也会收到很多错误/警告:

CSP14312: Resource violated directive 'script-src ms-appx: data: 'unsafe-eval'' in Host Defined Policy: inline script. Resource will be blocked

这可能是因为我使用jQuery来动态创建/更新应用程序内容,比如$("#myelement"(.html(…(?

所以我有点被困在这里了。在这两种模式下,我都面临着问题。

是否有任何方法可以在不定义privateNetworkClientServer功能的情况下向本地网络资源发出XmlHttpRequest?有没有其他方法可以创建与本地模式兼容的单页应用程序?

应该是内容安全策略导致了这个问题,请参阅connect-src文档,

HTTP内容安全策略(CSP(connect-src指令限制可以使用脚本接口加载的URL。

您可以尝试将本地网络URL添加到index.html文件的第一个元Content-Security-Policy内容中的connect-src资源指令中。作为以下代码,您可以将您的网络URL替换为您的URL。

<meta http-equiv="Content-Security-Policy" content="default-src connect-src YOUR NETWORK URL  'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

相关内容

  • 没有找到相关文章

最新更新