Phonegap Application v.3.4.0忽略navigator.splashscreen.hide()

时间:2014-04-05 01:08:11

标签: javascript ios cordova plugins

我有一个在Phonegap v.3.4.0上运行的iOS应用程序。我试图使用org.apache.cordova.splashscreen插件来消除启动时的闪烁。我已经使用CLI成功安装了插件并准备了config.xml,这样它就会保留启动页面,直到命令执行其他操作为止。但是我的javascript文件对命令navigator.splashscreen.hide()没有响应,该命令应该隐藏启动画面。有关为什么会发生这种情况的任何想法?相关代码如下。

非常感谢。


config.xml中

<gap:plugin name="org.apache.cordova.splashscreen" />
<feature name="SplashScreen">
    <param name="ios-package" value="CDVSplashScreen" />
    <param name="onload" value="true" />
</feature>
<preference name="AutoHideSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />

index.html底部

<script type="text/javascript" src="js/cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/splashscreen.js"></script>
<script type="text/javascript" src="js/main_js_file.js"></script>
<script type="text/javascript">
    app.initialize();
</script>

2 个答案:

答案 0 :(得分:0)

在脚本文件中添加eventlistener以查看设备是否准备就绪(即)是否已加载所有文件

document.addEventListener("deviceready", onProjectLoadComplete, true);

设备准备就绪时隐藏启动

function onProjectLoadComplete() {
    navigator.splashscreen.hide();
}

如果这不起作用。请将代码发布到你隐藏splashscreen的位置。确保你已经安装了cordova devie插件以及

答案 1 :(得分:0)

我犯了两个错误:

  1. 首先,我直接在cordova.js内寻找index.html,而不是允许cordova在构建应用程序时插入它(在我的情况下是XCode)。因此,您仍然需要将<script type="text/javascript" src="cordova.js"></script>放在正文的底部,但不必指向任何文档。
  2. 其次,我将我的应用程序放在错误的www目录中。虽然看起来很奇怪,但我通过反复试验发现Cordova 3.4调用了AppName/platforms/ios/www中的索引文件而不是AppName/www中的索引文件。