我有一个网站使用媒体查询在手机上看起来很好,我把它包装在phonegap中,所以我也可以将它作为一个应用程序。我已经将super.loadUrl设置为我的网站,这也有效,我还有一个工作的启动画面,我想跟上网站加载。我遇到了this blog post并按照说明操作。它是有效的,如果我是super.loadUrl到index.html(应用程序主页),但如果我loadUrl我的实际网站没有。
启动画面代码(主要java文件)
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("My External Site Url", 20000);
Index.html代码(如果我将loadUrl添加到它,这可行,但我想将loadUrl加载到我的网站)
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.splashscreen.hide();
}
但是,当我在我的外部html文件中使用上面的代码(并包含cordova.js)时,它无法识别onDeviceReady,因此启动画面不会隐藏自身,而且我等待了20秒。
我错过了什么吗?我是否允许从外部html文件(例如未构建到应用程序中的文件)中使用onDeviceReady,或者这应该是否正常,我只是引用了cordova错误?
答案 0 :(得分:1)
事实证明,一个旧的包含prototype.js搞砸了。一旦我删除它,它的工作非常棒。
对于未来的人,我得到的错误是:
答案 1 :(得分:0)
尝试这样做:
<script>
function init() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
navigator.splashscreen.hide();
}
</script>
<body onload="init()">
虽然因为您使用的是jQuery,但您可能希望将其更改为:
$(document).ready(function() {
document.addEventListener("deviceready", onDeviceReady, false);
});
答案 2 :(得分:0)
首先添加splashscreen插件如下:
$ phonegap plugin add org.apache.cordova.splashscreen
第二次构建项目,“splashscreen.js”将合并到“phonegap.js”
$ phonegap local build
祝你好运