J'ai trouvé une façon de le faire et ne pas compter sur deviceready évènements ainsi, en gardant le web codebase intacte...
Le problème actuel avec l'aide de la construite en deviceready, c'est que lorsque la page est chargée, vous n'avez aucun moyen de demander à l'application: "Hé, ce n'est PAS en cours d'exécution sur un appareil mobile, il n'y a pas besoin d'attendre pour que l'appareil soit prêt à démarrer".
1.- Dans le natif portion de code, par exemple pour iOS, en MainViewController.m il y a une méthode viewDidLoad, je suis de l'envoi d'une variable javascript que j'ai ensuite vérifier dans le code web, si cette variable est dans le coin, je vais attendre pour commencer le code de ma page jusqu'à ce que tout est prêt (par exemple, le navigateur de géolocalisation)
En Vertu De MainViewController.m:
- (void) viewDidLoad
{
[super viewDidLoad];
NSString* jsString = [NSString stringWithFormat:@"isAppNative = true;"];
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
}
2.- index.html le code qui va comme ceci:
function onBodyLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady(){;
myApp.run();
}
try{
if(isAppNative!=undefined);
}catch(err){
$(document).ready(function(){
myApp.run();
});
}