Phonegap 应用程序 v.3.4.0 忽略 navigator.splashscreen.hide()

Posted

技术标签:

【中文标题】Phonegap 应用程序 v.3.4.0 忽略 navigator.splashscreen.hide()【英文标题】:Phonegap Application v.3.4.0 Ignores navigator.splashscreen.hide() 【发布时间】:2014-04-05 01:08:11 【问题描述】:

我有一个在 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>

【问题讨论】:

【参考方案1】:

在脚本文件中添加事件监听器以查看设备是否准备就绪(即查看是否所有文件都已加载

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

当设备准备好时隐藏启动画面

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

如果这不起作用。请将代码发布到您隐藏启动画面的位置。确保您也安装了 cordova devie 插件

【讨论】:

感谢您的回复。我正在使用您上面建议的事件侦听器,但是问题仍然存在。 “devie”插件是指“设备”插件。如果是这样,我还没有安装它。我会尝试并报告。【参考方案2】:

我犯了两个错误:

    首先,我在index.html 中直接采购cordova.js,而不是在构建应用程序时允许cordova 插入它(在我的例子中是XCode)。所以你仍然需要将&lt;script type="text/javascript" src="cordova.js"&gt;&lt;/script&gt; 放在body 底部,但它不必指向任何文档。 其次,我把我的应用程序放在了错误的www 目录中。虽然看起来很奇怪,但我通过反复试验发现,Cordova 3.4 在AppName/platforms/ios/www 中调用索引文件,而不是在AppName/www 中调用索引文件。

【讨论】:

以上是关于Phonegap 应用程序 v.3.4.0 忽略 navigator.splashscreen.hide()的主要内容,如果未能解决你的问题,请参考以下文章

Cordova / Phonegap 忽略 iOS 中 div 的高度值

Phonegap App:从屏幕边缘滑动

iOS7状态栏和inappbrowser(Phonegap Build)

V-rep学习笔记:ROSInterface

如何解决自动忽略资源文件夹中以“_”(下划线)开头的文件/文件夹

我应该在 Phonegap 3 应用程序中包含 phonegap.js 吗?