5

我正在使用来自 Ajax 的 URL “<a href="https://username:password@home.myopenhab.org/rest/events?topics=smarthome/" rel="noreferrer">https://username:password@ home.myopenhab.org/rest/events?topics=smarthome/" 使用 Cordova 从服务器获取客户端应用程序中的 SSE(服务器发送事件)。

  • 它在 IOS 上运行良好,但在 android 上无法运行
  • (我使用的是 android 7.0,最新的 chrome 版本,并且还在开发人员选项中启用了 webview 实现)。
  • 对于相同的 URL,如果我提供像“ http://192.168.0.1/rest/events?topics=smarthome/ ”这样的 IP,它在 IOS 和 android 上都可以正常工作。

注意:两个 URL(“<a href="https://username:password@home.myopenhab.org/rest/events?topics=smarthome/" rel="noreferrer">https://username:password@home. myopenhab.org/rest/events?topics=smarthome/" AND " http://192.168.0.1/rest/events?topics=smarthome/ ”),使用“cordova-crosswalk-plugin”可以正常工作,但我不想使用 crosswalk 插件,因为要求从 google play 下载一些依赖应用程序。

var eventSource = new EventSource(" +“url”+ /rest/events?topics=smarthome/*");   

eventSource.addEventListener(‘message’, function (eventPayload){

//not entering here.

}
4

1 回答 1

0

我在这里找到了答案,我会在这里说:

原因是您的网址使用https

您可以尝试删除onReceivedSslError方法\cordova\platforms\android\CordovaLib\src\org\apache\cordova\ CordovaWebViewClient.java

然后加handler.proceed()

于 2018-12-02T02:30:30.173 回答