7

phonegap 3.1 を使用して、デバイスの準備ができたらスプラッシュ画面を非表示にしようとしています:

document.addEventListener("deviceready", onDeviceReady, false);

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

しかし、次のように返されます。

undefined のメソッド 'hide' を呼び出せません

ナビゲーター オブジェクトには、スプラッシュ スクリーン属性が含まれていません。

phonegap 2.9 で試してみましたが、問題なく動作します。

4

6 に答える 6

10

研究と実験の後、これを機能させるために私たちがしなければならなかったことは次のとおりです。

cordova plugin add org.apache.cordova.splashscreen

cordova build

次に、cordova ビルドが config.xml に間違った行を追加していたため、次のように変更する必要がありました。

 <feature name="SplashScreen">
        <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
 </feature>

そして、あなたの主な活動では

 super.setIntegerProperty("splashscreen", R.drawable.splash);
 super.setIntegerProperty("splashScreenDelay", 10000); //time to display the splash

最後にhide、javascript からメソッドを使用できるようになりました。

于 2013-10-24T05:41:18.917 に答える
0

Phonegap Desktop 0.3.6 にアップグレードした後、同様の問題が発生し、古いアプリの 1 つがスプラッシュ スクリーンで動かなくなりました。構成ウィンドウでは、正しいアプリ名とバージョンが表示され、config.xml を変更するとすぐに更新されました。コンソールでは、エラーが 1 つだけありまし500た。http://localhost:3000/cordova_plugins.js

新しいアプリは問題なく動作していました。

上記のすべてを試しました:

  • スプラッシュスクリーンのプラグインと設定
  • cordova.jsとを に追加cordova_plugins.jsindex.htmlます。これは、多くのバージョンより前に不要になりました。ビルドが自動的に行います。
  • platforms/android/assets/wwwフォルダにありcordova.js、ファイルcordova_plugins.jsが存在する
  • config.xml指定された<content src="index.html" />

結局、私の問題を解決したのは、platformsフォルダーを完全に削除してcordova platform add android再度実行することでした。Phonegap をアップグレードするたびにこれを行うのが安全だと思います。

于 2016-08-25T08:52:56.010 に答える
0

これを追加:

<preference name="SplashScreen" value="splash.png" />
<preference name="SplashScreenDelay" value="3000" />

navigator.splashscreen.hide() も機能しません。

更新: navigator.splashscreen.hide() は、オンラインでビルドする場合 (phonegap ビルド) にのみ機能します。

于 2014-12-02T12:59:42.907 に答える
0

私が推測できる唯一のことは<script type="text/javascript" charset="utf-8" src="cordova.js"></script>、そのJSを呼び出しているHTMLの頭にあることを再確認することです。申し訳ありませんが、まだ 3.1 をいじっていません。

于 2013-10-22T10:57:09.077 に答える