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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有cordova的Websockets在ipad上不起作用相关的知识,希望对你有一定的参考价值。

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

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

<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' /> ,但它仍然不起作用。

答案

我想你必须在config.xml中将backEndIP添加到你的cordova白名单中。

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

以上是关于带有cordova的Websockets在ipad上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ipad 上的 Websockets,还有啥需要做的吗?

iPad 上的 Cordova 锁定方向失败

Cordova 3.6.0:只添加 iphone 支持,根本没有 ipad

带有数字的phonegap ios键盘仅适用于iPad上的数字字段

在多次文件请求后,Cordova-Angularjs 应用程序在 iPad 上停止

是否支持在 phonegap (cordova) 中使用声音捕获视频?