我之前一直在研究 google 和 stackoverflow,但没有找到解决方案。
我的问题如下:我正在使用 PhoneGap (cordova 3.0) 和 jQuery Mobile 1.3.1 for android。
在我的第一个视图加载之前,我遇到了一个白屏,我猜这是在图像加载到顶部之前进行的 DOM 初始化。
我将背景更改为黑色,但这个仍然是白色的。
我想达到什么目标?当视图未完全加载时,背景应该是黑色的,用户有“应用程序尚未启动”的体验。
更新 1: 所有 Javascript 代码现在都在 onLoad 和 deviceready 中:
<body onload="onLoad()">
<script type="text/javascript">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
... code
}
<script>
</body>
不幸的是没有变化。
我发现由于缓存,在第二次应用启动后,白屏显示的时间被最小化。
我的体系结构如下:为了克服超时错误,除了主文件中增加的超时值之外,我还有一个具有以下结构的 index.html。
Main.java super.setIntegerProperty("loadUrlTimeoutValue", 10000);
索引.html
<html>
<head>
<title>title</title>
<style type="text/css">
.ui-page {
-webkit-backface-visibility: hidden;
}
</style>
<script>
window.location.href="./main.html";
</script>
</head>
<body>
</body>
</html>
这仅用于重定向到加载图像等的实际文件。没有飞溅。
之后在加载需要很长时间加载的 main.html(多页 jQuery)时出现白屏。在第一个应用程序启动时,它是 1 秒白屏。之后它似乎被缓存并花费<~100ms。
是否可以预缓存 webApp?