web-dev-qa-db-fra.com

Comment charger un script sur $ (document) .ready () / onDeviceReady () de jquery-mobile / phonegap

Je développe une application utilisant PhoneGap et jQuery Mobile.

Maintenant, lorsque la page est chargée, je veux charger une script(.js file). Fondamentalement onDeviceReady ou $(document).ready(). Comment faire ça?

22
Coder_sLaY
//wait for document.ready to fire
$(function () {

    //then load the JavaScript file
    $.getScript('script.js');
});

http://api.jquery.com/jquery.getscript

//create a callback function
function myCallback () {


    //create a script element and set it's type and async attributes
    var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true;

    //set the source of the script element
    script.src = 'script.js';


    //add the script element to the DOM
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);

}

//add event listener for the deviceready function to run our callback function
document.addEventListener("deviceready", myCallback, false);

http://docs.phonegap.com/en/1.4.1/phonegap_events_events.md.html#deviceready

Ce deuxième extrait de code est une version légèrement modifiée du code Google Analytic, utilisée pour ajouter un script au DOM de manière asynchrone.

[~ # ~] mise à jour [~ # ~]

Vous pouvez également définir l'attribut defer d'un <script> tag to true et il ne sera exécuté qu'après la préparation du DOM. Voir de la documentation ici: https://developer.mozilla.org/en-US/docs/HTML/Element/Script

47
Jasper