我将此代码作为html页面的主要部分
<script type="text/javascript" src="js/head.load.min.js"></script>
<script type="text/javascript">
head.js("js/jquery.js","docs/_assets/js/jqm-docs.js","js/jquery.mobile- 1.1.1.js",function(){alert('scripts have been loaded')});
</script>
我的javascript文件以及我的css和html文件都在android项目的assests文件夹中。我想要做的是从assests文件夹异步加载javascript文件,以便初始呈现html页面在webview中很快。但这似乎不起作用,因为它没有加载javascript文件。可能是什么原因??
顺便说一下,我使用headjs javascript库进行异步加载..这里有网站引用http://headjs.com/
答案 0 :(得分:1)
您是否查看过任何异步加载器,例如requireJS?
问题是你想要实现的目标,因为从你的代码我可以看到你正在加载Jquery Mobile,它增强了页面上的大多数元素。因此,在JQM完成加载并初始化之前,我不想向用户显示任何内容,因为他将看到“pre-JQM-enhanced”内容。
因此,要么将js文件放入head
部分,请执行以下操作:
<script type="text/javascript" src="jquery"></script>
<script type="text/javascript" src="jqm-docs"></script>
<script type="text/javascript" src="jqm"></script>
将直接加载它们(不是异步)并且只在一切运行时显示内容,或者使用异步加载器。但是,这不会改变最终结果,因为您的网页似乎至少需要jquery
和jqm
,因此您无法在没有加载的情况下“启动”您的应用。
使用异步加载器时,您必须记住,js文件如何相互依赖。 Jquery Mobile需要Jquery,因此在加载Jquery之前,最好不要初始化Jquery Mobile。