无法在我的 Cordova iOS 应用程序中连接到本地 Web 服务器
Posted
技术标签:
【中文标题】无法在我的 Cordova iOS 应用程序中连接到本地 Web 服务器【英文标题】:Can't connect to local web server in my cordova iOS app 【发布时间】:2018-12-14 10:58:25 【问题描述】:在 Cordova ios 应用程序中从 UIWebView 切换到 WKWebView 时,从本地文件系统加载 Web 应用程序时,同源策略存在常见的已知问题。
典型的解决方法是使用本地 Web 服务器(监听 localhost
),它为您的 html、CSS、JS 提供服务。
这就是我尝试切换到这个 cordova 插件的原因: https://github.com/apache/cordova-plugins/tree/wkwebview-engine-localhost
不幸的是,结果是一个空白屏幕。在我调用的 Web 调试控制台中
console.log(location.href)
返回about:blank
。然后我尝试从控制台使用这个 JS 调用导航到本地 Web 服务器:
location.href = 'http://localhost:8080';
但是网络视图停留在about:blank
。我还尝试了不同的端口,当然我检查了我的config.xml
(例如<allow-navigation href="*" />
)
我认为插件有问题,所以我切换到Ionic Webview。有趣的是,它具有完全相同的行为。
一般来说,我可以导航到其他站点,但不能导航到localhost:[port]
,所以我猜这些插件根本无法启动 Web 服务器。但是,我找不到其他人遇到这个问题。
这个问题的原因可能是什么?有没有办法调试这个?不幸的是,我的网络控制台没有报告任何问题。
【问题讨论】:
【参考方案1】:这里的问题不是启动 Web 服务器,而是连接到它。尝试通过隧道连接这些连接的 *** (MobileIron) 阻止了通信。不幸的是,目前 WkWebView 根本没有解决方案。
【讨论】:
以上是关于无法在我的 Cordova iOS 应用程序中连接到本地 Web 服务器的主要内容,如果未能解决你的问题,请参考以下文章
UIFileSharingEnabled 在我的适用于 ios 的科尔多瓦应用程序中无效