在 deviceReady sencha touch cordova 应用程序中加载 app.js

loading app.js in deviceReady sencha touch cordova app

我有一个问题,我正在使用设备 API,问题是 device.uuid 可以在文档准备好后可用,而 sencha touch 加载 app.js 在文档准备好之前,所以我在使用时得到了什么device.uuid 在煎茶代码中显示为空

试图通过

调用此函数
<body onload="allJs();">

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

如果我把 document .write 放在 on load function sencha app load 之前就完美了 没有 device.uuid

<body onload="allJs();">

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

我该怎么办

你可以使用这个函数异步获取脚本

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/