2015-01-05 3 views
2

У меня проблема. Я использую API-интерфейсы устройств. Проблема заключается в том, что device.uuid может быть доступен после того, как документ будет готов, а приложение sencha touch load app.js до того, как документ будет готов, так что я получить, когда я использую device.uuid в сенче коде появляется нулевойloading app.js в deviceReady sencha touch cordova app

пытался вызвать эту функцию с помощью

<body onload="allJs();"> 

<script> 
    function allJs(){   
       document.write('<script src="all.js"><\/script>'); 
      } 
</script> 

если я поставлю документ .WRITE перед нагруженной функцией сенча приложения нагрузки отлично без device.uuid

<body onload="allJs();"> 

<script> 
    document.write('<script src="all.js"><\/script>'); 
    function allJs(){   
       //document.write('<script src="all.js"><\/script>'); 
      } 
</script> 

что я должен делать

ответ

3

вы можете получить скрипт асинхронно с помощью этой функции

function lazyload() { 
    var scriptTag = document.createElement('script'); 
    scriptTag.src = "//my_example.js"; // set the src attribute 
    scriptTag.type = 'text/javascript'; // if you have an HTML5 website you may want to comment this line out 
    scriptTag.async = true; // the HTML5 async attribute 
    var headTag = document.getElementsByTagName('head')[0]; 
    headTag.appendChild(scriptTag); 
} 

и PhoneGap или Cordova готового использования

document.addEventListener('deviceready', function(){ 
     lazyload(); 
}, false); 

вы можете использовать функцию JQuery getScript или создать его вы можете найти ссылки в источниках

источники:

https://chris.lu/article/read/506de698268c420f0d000004

http://jeremyhixon.com/snippet/loading-javascript-files-asynchronously/

+0

спасибо это действительно поможет –

Смежные вопросы