Использование опции AutoHideSplashScreen с приложением PhoneGap / Cordova - PullRequest
2 голосов
/ 30 марта 2012

Я пробовал плагин , но я не могу понять, как заставить его работать с Cordova.Без плагина navigator.splashscreen не определяется.Чего мне не хватает?

Ответы [ 2 ]

4 голосов
/ 30 марта 2012

Плагин не должен быть нужен.

Установите ключ AutoHideSplashScreen на NO в Cordova.plist, затем, после того как устройство будет готово, используйте navigator.splashscreen.hide();, чтобы скрыть заставку.

Возможно, вы не ждете до deviceready, прежде чем пытаетесь получить доступ к navigator.splashscreen

редактировать

Как упомянуто @respectTheCode ниже, начиная с версии 1.6 это было удалено и кодифицировано на разных платформах как cordova.exec(null, null, “SplashScreen”, “hide”, [])

0 голосов
/ 02 апреля 2012

ОК, я воспользовался советом RespectTheCode и удалил событие готовности устройства из функции onLoad. Это рабочий код. Я ставлю полный код для тех, кто изучает:

<script>
    document.addEventListener("deviceready", onDeviceReady, false);

    setTimeout(function() {
       navigator.splashscreen.hide();
       }, 1000);
</script>

1000 - это одна секунда. Не будет работать менее одной секунды, т.е. 500. Заставка просто зависает.

Это работает для меня. Если код может быть улучшен, не стесняйтесь ответить на него, и я столкну вас.

Кроме того, в PhoneGap / Cordova есть ошибка, из-за которой вы должны использовать заставки на весь экран (768x1024). Следите за обсуждением здесь: https://issues.apache.org/jira/browse/CB-263

Или здесь: Как остановить перемещение образа запуска iOS в Phonegap / Sencha Touch

...