jqueryMobile:如何加载外部Javascripts
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jqueryMobile:如何加载外部Javascripts,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1959字,纯文字阅读大概需要3分钟。
内容图文
我认为这是一个常见的情况,并且很惊讶没有在这里找到答案.所以这里……
我的jquerymobile站点中的某些页面正在使用外部javascripts.我不希望这些脚本加载到网站上的每个页面上.它是移动的,它应该快速加载.
如何加载外部javascript,以便在需要引用时在DOM中可用.我发现这篇Stack文章似乎有一个很好的技巧:Using Javascript to load other external Javascripts
如果我动态加载这个外部javascript,我应该使用pageinit事件吗? http://jquerymobile.com/test/docs/api/events.html
如果我使用此事件,那么在页面正文引用它时脚本是否会加载到DOM中?或者我是否会收到对象引用错误?
解决方法:
jQuery具有$.getScript()函数,您可以使用它来检索外部资产并在全局范围内对其进行评估.您可以利用此AJAX函数的回调函数在加载资源后执行工作.
如果要加载多个资源,可以将从jQuery AJAX函数返回的XHR对象推送到数组,然后等待阵列中的所有XHR对象解析.
单
//get remote asset when a specified page is initialized by jQuery Mobile
$(document).delegate('#my-map-page', 'pageinit', function () {
$.getScript('http://maps.google.com/maps/api/js?sensor=false', function () {
//the code has now been evaluated and you can utilize it here
});
});
多
$(document).delegate('#my-map-page', 'pageinit', function () {
//setup array for XHR objects and one for the URLs of the assets you want to get
var jqXHRs = [],
scripts = ['http://maps.google.com/maps/api/js?sensor=false', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'];
//loop through the script URLs and create an AJAX request to get them,
//also add the XHR object for the request to an array
for (var i = 0, len = scripts.length; i < len; i++ ) {
jqXHR.push($.getScript(scripts[i]));
}
//use the array of XHR objects we created to wait for all assets to load
$.when(jqXHR).then(function () {
//all the scripts have loaded and are evaluated, do work
});
});
一些文档:
> $.when():http://api.jquery.com/jquery.when
> $.then():http://api.jquery.com/jquery.then
> $.getScript():http://api.jquery.com/jquery.getScript
> pageInit:http://jquerymobile.com/demos/1.1.0-rc.2/docs/api/events.html
内容总结
以上是互联网集市为您收集整理的jqueryMobile:如何加载外部Javascripts全部内容,希望文章能够帮你解决jqueryMobile:如何加载外部Javascripts所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。