带有 cordova 的 Websockets 在 iPad 上不起作用



我正在尝试使用Cordova在JS中实现Websocket。我不使用任何插件,我会使用JS的本机Websocket进行此操作。基本上,我的应用程序连接到后端,发送消息,然后等待响应。这在Chrome/Firefox上正常工作,但是当我在iPad上安装它时,前端Webockets永远不会连接到后端。

所以我尝试在我的元标记中添加一些内容策略:

<meta http-equiv="Content-Security-Policy" content="default-src * gap: file: ws: wss: ; style-src 'self' 'unsafe-inline'; img-src 'self' data: ; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src 'self' ws: ;">

创建和使用Websocket:

ws = new WebSocket('ws://backEndIP:port/')
ws.send('/skeleton/last')
  ws.onmessage = function (event) {
    resolve(event.data);
  }

我不知道我会缺少什么。

编辑

我在config.xml中添加了 <access origin='*' allows-arbitrary-loads-for-media='true' allows-arbitrary-loads-in-web-content='true' allows-local-networking='true' /> ,但仍然不起作用。

我认为您必须将backEndIP添加到Config.xml中的Cordova Whitelist。

请参阅此处:https://cordova.apache.org/docs/en/latest/guide/guide/appdev/whitelist/

相关内容

  • 没有找到相关文章

最新更新