我正在使用 PhoneGap Build 3.0,试图摆脱启动画面后出现的空白屏幕。
我做过研究,但我能找到的只是对 PhoneGap 和 Cordova 的引用,而不是 PhoneGap Build。我尝试过的所有方法都没有奏效——主要是禁用自动启动画面隐藏,并使用 JavaScript 自动隐藏它:
在 config.xml 中:
<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen" />
<param name="onload" value="true" />
</feature>
在 index.html 中:
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
window.location.href = mysite.com
document.AddEventListener("deviceready", OnDeviceReady, false);
function OnDeviceReady() {
setTimeout(function() {
navigator.splashscreen.hide();
}, 6000);
};
</script>
但这似乎无视我并自动隐藏屏幕。我认为这是因为此解决方案不适用于 PhoneGap Build,但我不确定如何解决此问题。
最佳答案
完全感受到你对此的痛苦。 PhoneGap Build 的文档需要大量工作。 我自己最近几天一直在与此作斗争。经过多次试验和错误后,这对我有用。
在 config.xml 中:
<!-- Do not auto hide splash on iOS -->
<preference name="AutoHideSplashScreen" value="false" />
<!-- Do not auto hide splash on Android -->
<preference name="SplashScreenDelay" value="10000"/>
<gap:plugin name="org.apache.cordova.splashscreen" />
Android 似乎没有 AutoHide 参数,所以我们只是给它一个很长的延迟。我们会在这 10 秒之前用 JS 手动隐藏它。
要使 javascript 代码 navigator.splashscreen.hide();
正常工作,需要在 config.xml 中添加插件引用。
此外,我发现我的项目(使用 Kendo UI Mobile)在 onDeviceReady
中不需要 setTimeout 延迟。我猜,一旦您在 config.xml 中获得正确的参数,您就会在您的应用中看到相同的参数。
我的 onDeviceReady
看起来像这样:
document.addEventListener('deviceready', function() {
navigator.splashscreen.hide();
});
使用 PhoneGap Build 3.1 在 iOS 6 和 Android 4.1 上测试。
关于javascript - PhoneGap Build iOS 应用程序在启动画面后出现空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339647/