9
votes

Phonegap DeviceReady vs document prêt

Je ressens des problèmes avec l'événement prêt à l'appareil téléphonégatif. Je teste sous iOS 6.0.

Lorsque le périphérique prêt est tiré, le DOM n'est pas prêt. Si je lie les événements sur certains éléments DOM dans un écouteur d'événement DeviceReady , je ne recevrai aucune notification car ces éléments n'existent pas à ce début.

Alors, quelles sont les meilleures pratiques pour attendre jusqu'à ce que les deux ont fini de charger - dom et téléphones?


3 commentaires

Le fais-tu comme ceci: document.addeventlistener ("DeviceReady", OnDeviceReady, False); Fonction OnDeviceReady () {// Maintenant sans danger pour utiliser l'API Phonegap} avec votre référence à 'PhoneGap .... JS' avant ce script.


L'événement DeviceReady est destiné à tirer uniquement après que DomContentLoDed ajusté et qu'un code de code natif a également été transmis au JavaScript.


J'ai trouvé la réponse parfaite ici: Stackoverflow.com/a/14109006/1367154


3 Réponses :


1
votes

Essayez quelque chose comme ceci:

<body onload="onLoad()">


0 commentaires

3
votes

Si vous utilisez jQuery, essayez ceci xxx pré>

si vous utilisez JavaScript, essayez ce p>

if(document.readyState === "complete") {
  document.addEventListener("deviceready",onDeviceReady,false); 
}

function onDeviceReady(){
        //write your function body here

    }


0 commentaires

0
votes

meilleure expérience que j'ai eu avec les applications basées sur PhoneGap utilise FastClick bibliothèque et initialisation de votre application Comme ceci:

<script type="text/javascript" src="vendor/fastclick/lib/fastclick.js"></script>

<script type="text/javascript">
    window.addEventListener('load', function() {
        FastClick.attach(document.getElementById('container'));

        document.addEventListener('deviceready', function () {
            // Initialize your app here
        });
    });
</script>


0 commentaires