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

时间:2018-07-31 17:10:28

标签: cordova uwp phonegap cordova-win10

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

如果应用位于remote mode中,则我无法/不允许定义必要的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? 还有什么其他方法可以创建与本地模式兼容的单页应用程序?

1 个答案:

答案 0 :(得分:0)

引起此问题的应该是 Content-Security-Policy (内容安全政策),请参见connect-src document

  

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

您可以尝试将本地网络URL添加到connect-src文件的第一个元index.html内容中的Content-Security-Policy资源指令中。如以下代码所示,您可以将 YOUR NETWORK 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 *">
相关问题