jQuery中只有Ajax部分吗?问题是我不需要整个库,但只需要它的Ajax部分(我需要将这部分包含在几个iframe中)。jQuery中只有Ajax部分吗?
回答
这是全部或没有。当然,jquery是开源的,你可以在自己的库中提取你感兴趣的部分(祝你好运)。您可以考虑使用CDN,以确保大多数用户已将其缓存在浏览器中,因此您不应该担心大小。
为什么好运?它出什么问题了? – fgfgfgghjh 2010-11-09 09:45:15
没有错,它只是一个具有挑战性的任务,当新版本的jquery出来时,如果你想使用这个新版本,你可能需要从头开始。 – 2010-11-09 09:45:53
@fgf只有当你真的,真的有一些额外的时间在你手上,真的不知道该如何处理它(比如,一个月或两个时间),那么从jQuery中删除部分值得考虑。 – 2010-11-09 10:12:51
有没有开箱即用,但你当然可以从现有的文件剪切和粘贴,然后将其最小化。
如果您只是担心Google的CDN提供的库的大小,MS或jQuery可能需要更少的数据流量,因为大多数浏览器已经缓存了文件。
正如Darin所说,这是全部或没有。 JQuery的Ajax函数与其余的功能密切相关。
还有其他一些独立的Ajax库像Matt Kruse's Ajax toolbox - 也许有帮助。
我会考虑加载完整的jQuery库。如果你链接到jQuery on a CDN,加载时间将是微不足道的。
我个人喜欢amplify.js – 2015-01-09 14:51:40
@johnSmith Amplify.js依靠jQuery来执行Ajax请求,这与OP想要的相反。 – 2017-08-19 20:17:59
如果你真的只想要jQuery的Ajax部分,你可以从他的仓库获取代码(https://github.com/jquery/jquery),看看它你会想看看“ajax.js”和“core.js”在“ src“目录。然后你会想和闭包编译器一起编译它们。
但正如其他人所说,从大多数用户将缓存的CDN(jQuery,Google,Microsoft)之一加载它会容易得多。
我创建的jQuery的自定义生成1.7.1这里:
[我建立了它](https://github.com/thorsummoner/jquery-ajax)为那些不能这样做的人,它来自jQ-1.7.1,整个[41Kb缩小](https:/ /raw.githubusercontent.com/thorsummoner/jquery-ajax/jquery-ajax/jquery.min.js)没有保证! – ThorSummoner 2014-04-17 04:20:17
在jQuery 1.8,你可以做到这一点:LINK
是的,我只是做我的, http://noypi-linux.blogspot.com/2013/05/build-jquery-with-ajax-only.html
你只需要这些文件(导致缩小约为30Kb):
/d/dev/javascript/jquery/jquery/src/intro.js
/d/dev/javascript/jquery/jquery/src/core.js
/d/dev/javascript/jquery/jquery/src/callbacks.js
/d/dev/javascript/jquery/jquery/src/deferred.js
/d/dev/javascript/jquery/jquery/src/support.js
/d/dev/javascript/jquery/jquery/src/data.js
/d/dev/javascript/jquery/jquery/src/event.js
/d/dev/javascript/jquery/jquery/src/serialize.js
/d/dev/javascript/jquery/jquery/src/ajax.js
/d/dev/javascript/jquery/jquery/src/ajax/xhr.js
/d/dev/javascript/jquery/jquery/src/exports.js
/d/dev/javascript/jquery/jquery/src/outro.js
感谢您参考这篇文章。我把一个项目放在基于此的github上。它做一些全球性的重命名,以避免冲突https://github.com/dbennett455/jqAjax – 2014-02-10 14:39:26
30kb是一个只是ajax() – developerbmw 2016-05-28 07:44:45
这是jquery ajax。 – 2016-05-30 05:38:17
更新2016
您可以使用此工具来构建自己的定制的jQuery的版本。
在jQuery 2.1.1
全部文件大小unminified是:241.55 KB
阿贾克斯只有精缩为:49.60 KB
这是一个减小尺寸5x。
例如另一种观点标准JavaScript替代jQuery来$.ajax
post
是:
var request = new XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
而且替代$.ajax
get
是:
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
var resp = request.responseText;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
另一种选择是使用浏览器提供的内置fetch
API。
下面是一个例子片段:
fetch('http://localhost:3000/users.json', {
method: 'POST',
mode: 'cors',
redirect: 'follow',
body: JSON.stringify({
user: {
firstName: 'john',
lastName: 'doe'
}
}),
headers: new Headers({ 'Content-Type': 'application/json' })
}).then(function() {
/* handle response */
});
This blog post是一个伟大的介绍了这个API,并显示更多的用例。
fetch
还没有完整的跨浏览器支持(我认为主要是IE和Safari缺乏),但是在那一天到来之前可以使用polyfill。
fetch
填充工具:https://github.com/github/fetch
旧的浏览器还需要一个Promise
填充工具(one option,another option)。
我不会推荐在生产中使用提取。我只在safari上遇到了一些奇怪的问题(在macOS Sierra和iOS 10上)。也许这只是我愚蠢,但我认为这不值得调试时间。 – yuji 2016-10-26 09:10:51
我在帖子中提到了这一点,并建议现在使用polyfill。谢谢你突出问题。 – 2016-10-27 20:19:30
AMD用户请阅读this,我的答案是建立一个文件。
或者只是使用这个库:ded/reqwest(4 KB,分&的gzip)
下载source code和运行
npn i
打开
/src/jquery.js
,并移除任何moudle你不想要的,但保持"./exports/amd"
,"./exports/global"
define([ "./ajax", "./ajax/xhr", "./ajax/script", "./ajax/jsonp", "./exports/amd", "./exports/global" ], function (jQuery) { "use strict"; return jQuery; });
运行
grunt custom:-sizzle
转到
/dist
,现在把你的构建
模块在构建:
- 核心
- 推迟
- AJAX
尺寸:
- 只是建立:85 KB
- 构建与分:26 KB
- 构建与分&的gzip:10 KB
构建:https://gist.github.com/zcyzcy88/393ca7dc76d22f3e5a4592f59f675ad1 – zcyzcy88 2017-05-04 12:10:02
- 1. 只有部分时间发送了jQuery请求的AJAX问题
- 2. Netbeans只有部分jQuery自动完成
- 3. rails 3 jquery ajax部分
- 4. jQuery Ajax只加载某个div吗?
- 5. 从jQuery库中提取Ajax部分
- 6. 只输出我的回应的特定部分jQuery AJAX
- 7. IE7 AJAX只返回部分响应
- 8. C++ #include - 只有部分#include
- 9. heightForRowAtIndexPath只有一个部分?
- 10. 只有日期部分
- 11. 只有在部分回发完成后调用AJAX方法
- 12. 使文本只有部分Android中
- 13. ASP.net Ajax和JQuery - 部分回发
- 14. jQuery $ .ajax后显示部分结果
- 15. 自动加载与jQuery的ajax部分
- 16. jQuery的Ajax错误: “206部分内容”
- 17. jQuery AJAX与Rails 3使用部分
- 18. ASP.NET Ajax部分回发和jQuery问题
- 19. jQuery的AJAX验证工作部分
- 20. Rails:部分刷新评论部分的jQuery Ajax问题
- 21. jQuery的AJAX连载只有2场
- 22. jQuery只匹配div的一部分id
- 23. jQuery:只返回文本的一部分
- 24. 使用AJAX加载网页的一部分 - 没有JQuery
- 25. jQuery ajax分页
- 26. jQuery“替换”AJAX吗?
- 27. jQuery的发现,只有部分参考ID控制
- 28. jQuery函数返回只有别人的一部分
- 29. jQuery,遍历只有部分名称或编号的元素
- 30. jQuery AJAX可以禁止所有人吗?
任何问题,如果你选择包括整个LIB?它并不那么沉重。 – Kangkan 2010-11-09 09:34:14
即使您在多个iFrame中使用它,它也只会被下载一次。浏览器通常很聪明。使用缩小版本。它只有26kb。 – jwueller 2010-11-09 09:35:11
iframes来自不同的子域(如sss.exemp.net和ggg.exemp.net) – fgfgfgghjh 2010-11-09 09:35:33