Tag: 异步

异步加载js文件和其他依赖的js文件

我正在寻找一种干净的方式来异步加载以下类型的javascript文件:一个“核心”js文件(嗯,我只是叫它,哦,我不知道,“jquery!”哈哈),x个js依赖于正在加载的“核心”js文件的文件,以及y个其他不相关的js文件。 我有几个关于如何去做的想法,但不知道最好的方法是什么。 我想避免在文档正文中加载脚本。 因此,例如,我希望以下4个javascript文件异步加载,适当命名: /js/my-contact-page-js-functions.js // unrelated/independent script /js/jquery-1.3.2.min.js // the “core” script /js/jquery.color.min.js // dependent on jquery being loaded http://thirdparty.com/js/third-party-tracking-script.js // another unrelated/independent script 但这不起作用,因为它不能保证在颜色插件之前加载jQuery … (function() { var a=[ ‘/js/my-contact-page-functions.js’, ‘/js/jquery-1.4.2.min.js’, ‘/js/jquery.color.js’, ‘http://cdn.thirdparty.com/third-party-tracking-script.js’, ], d=document, h=d.getElementsByTagName(‘head’)[0], s, i, l=a.length; for(i=0;i<l;i++){ s=d.createElement('script'); s.type='text/javascript'; s.async=true; s.src=a[i]; h.appendChild(s); } })(); 几乎不可能异步加载jquery和颜色插件? (因为颜色插件需要首先加载jQuery。) 我正在考虑的第一种方法是将颜色插件脚本和jQuery源合并到一个文件中。 然后我的另一个想法是加载颜色插件,如下所示: $(window).ready(function() { […]

jQuery Deferred and Promise用于顺序执行同步和异步函数

如果我希望以特定的顺序执行同步和异步函数,我可以使用jQuery承诺,但它似乎不像我期望的那样工作。 函数a,b和c应该在调用deferred.resolve()时以该顺序执行我希望函数b被执行但是无论是否调用了resolve,所有函数都会立即执行。 这是代码: function a(){ var deferred = $.Deferred(); setTimeout(function(){ console.log(“status in a:”,deferred.state()); //this should trigger calling a or not? deferred.resolve(“from a”); },200); console.log(“a”); return deferred.promise(); }; function b(){ var deferred = $.Deferred(); setTimeout(function(){ console.log(“status in b:”,deferred.state()); deferred.resolve(“from b”); },200); console.log(“b”); return deferred.promise(); } //synchronous function function c(){ var deferred = $.Deferred(); console.log(“c”); console.log(“status in […]

在javascript中异步或同步调用事件处理程序

事件处理程序是在JavaScript中同步还是异步执行的? 这是JS bin ,它显示了事件处理程序是同步执行的。 码: $(‘#toclick’).bind(‘custom’, function() { for (var i=0; i<100000; i++) {} console.log('Inside click handler'); }); $('#toclick').trigger('custom'); console.log('Outside click handler'); Output: Inside click handler Outside click handler 这意味着如果我们触发事件,除非执行所有事件处理程序,否则不会执行它下面的代码。 我对吗 ? Bin有多个事件处理程序

无法解析并将ajax字符串返回到jquery变量

var data是我的jquery变量,我想将jsonData.image_name字符串文本添加到其中。 但是当它通过时一直说undefined 。 function SaveAndGetImageName() { var data = “”; var formData = new FormData(); formData.append(‘btn_Browse’, $(‘#btn_Browse’)[0].files[0]); $.ajax({ url: ‘../Gem/SaveProfilePic’, type: ‘POST’, dataType: ‘json’, cache: false, async: true, contentType: false, processData: false, data: formData, success: function (jsonData) { data = jsonData.image_name; } }); return data; }

jQuery ajax async:false会导致奇怪的警告吗?

在我的JS应用程序中,我使用async: false进行了许多Ajax调用。 我正在使用最新的Chrome浏览器,并在我的控制台下方警告最近出现。 主线程上的同步XMLHttpRequest由于其对最终用户体验的不利影响而被弃用。 如需更多帮助,请访问http://xhr.spec.whatwg.org/ 。 现在我想尝试将所有async: false更改为async: true 。 但它会导致很多错误,因为我的应用程序需要使用async: false运行。 警告只是一个错误或什么? 我可以担心或忽略这一点吗?

用async false调用jQuery ajax是行不通的

在这里我粘贴了我的代码,我想返回$ .ajax的响应作为函数a()的响应。 但是在结果出现ajax调用之前,它返回空f。 请帮忙 a = function() { var f = ”; $.ajax({ url: ‘http://api.twitter.com/1/statuses/user_timeline.json?screen_name=immaulikvora&count=1&page=1&include_entities=1&callback=?’, dataType: ‘json’, async: false, success: function(data) { f = data; } }); return f; }; var lid = a(); alert(lid);

Jquery append()是否异步运行?

我已经看到了一些post( 假设立即附加 ),其中有相互矛盾的接受答案。 我们使用的是JQuery 1.4 ( http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js ),而append()似乎是异步的,这样: 编辑以在AJAX回调的上下文中显示代码 … var message = $.ajax({ type: “GET”, url: “/getVolumes/” + _Id, async: false }).responseText; if (parseInt(message) != 0){ var $results = $(message); $MAIN_DIV.append($results); retrieveTargets(); } … function retrieveTargets(){ var $targets = $(“.resultTargets”); } 按预期执行并创建页面,但目标查询在运行时不产生任何内容。 在JS控制台中运行相同的代码会按预期检索元素。 如果这是JQuery中的预期行为,那么等待追加完成的正确方法是什么?

$ .get的jquery是异步的吗?

我想知道我是否应该在我的网站上使用异步调用。 我知道要明确指定我需要使用 $.ajax 但最初我尝试使用$.get ,虽然服务器必须返回大量信息,但我的浏览器没有卡住,我可以毫无问题地导航。 我在网上搜索了一下它,但是我仍然不能100%肯定两者之间的区别。 如果$.get是异步的,那么$.ajax的重点是什么? 如果不是,那么再次看到我没有$.get导航问题,使用$.ajax的重点是什么? 提前致谢

如何逐步加载ajax(jquery)请求响应而不等待它完成?

我想创建一个将使用jquery向php文件提交关键字列表的表单,这个文件可能需要花费大量时间来加载,具体取决于关键字列表的大小。 我想要做的是实时加载php响应到div或容器而不使用iframe。 我知道的所有ajax请求必须等到请求完成才能访问响应,我需要访问该响应,即使它还没有完成,所以我可以实时更新进度。

如何使用jQuery异步加载CSS?

我想使用jQuery异步加载文档的CSS。 我发现了这个示例,但这似乎在IE中不起作用: $(function(){ $(”, { rel: ‘stylesheet’, type: ‘text/css’, href: ‘/inc/body/jquery/css/start/jquery-ui-1.8.10.custom.css’ }).appendTo(‘head’); $.getScript(“/inc/body/jquery/js/jquery-ui-1.8.10.custom.min.js”, function(){ }); }); 基本上我想在所有其他数据,图像,样式等加载到页面后加载jQuery UI 。 $.getScript适用于JS文件。 唯一的问题是IE中的CSS。 你知道更好的解决方案吗?