使用 Cordova 加载远程 index.html
Posted
技术标签:
【中文标题】使用 Cordova 加载远程 index.html【英文标题】:Load remote index.html with Cordova 【发布时间】:2016-01-22 07:26:41 【问题描述】:我想在我的 Cordova 应用程序启动时呈现一个远程 html 页面,而不是“./index.html”
在 config.xml 中试过这个
<content src="http://example.com/index.html" />
<access origin="*" />
还尝试将其放入 ./index.html
window.location.href = 'http://example.com/index.html';
当我启动应用程序时,两者都会加载一个空白屏幕。设备日志中没有错误。使用 Cordova 版本 5.3.3。
有什么想法吗?
【问题讨论】:
你安装了白名单插件吗?<content src="http://example.com/index.html" />
应该足够了。您使用哪个cordova android 版本?尝试更新到最新的 cordova CLI 和 cordova android
【参考方案1】:
如果您想使用<access origin="*" />
,您需要将此元标记添加到您的科尔多瓦应用程序中的 html 页面:
<meta http-equiv="Content-Security-Policy" content="*">
希望对你有帮助!
【讨论】:
【参考方案2】:在您的 index.html 页面中,您可以在此写入重定向中写入 windows.onload() function
到此 http://example.com/index.html
【讨论】:
这与我在问题中解释的重定向有何不同? 你在 onload 回调中做了什么来加载从你的服务器提供的 index.html?【参考方案3】:您可以在本机代码中更改 loadUrl
语句,例如在Android中,您需要在platforms/android/src...
下找到MainActivity.java
。
我本人目前正在从index.html
寻找一种方法来执行此操作(例如在出现网络问题时显示加载屏幕/错误消息)。
我相信我曾尝试使用window.location.href
,但这只是将浏览器打开到指定的 URL。我当然希望它在应用的 WebView 中打开。
【讨论】:
以上是关于使用 Cordova 加载远程 index.html的主要内容,如果未能解决你的问题,请参考以下文章
Cordova InAppBrowser 隐藏,直到完成加载