【问题标题】:Performance of .get() vs multiple .load()s.get() 与多个 .load() 的性能
【发布时间】:2012-04-25 17:44:31
【问题描述】:

感谢收看,

我有一种情况,我想从静态文件中加载()多个 div。我最近发现并阅读了这个 SO 问题:jquery-multiple-load-in-a-div。选项是

$('<div>').load('static.html #div1,#div2,...');

$.get('static.html',...,function(){ 
    $responseHTML.find('#div1').appendTo(...);
    $responseHTML.find('#div2').appendTo(...);
});

我很乐意使用其中任何一个,但我想进一步了解它背后的理论。我认为'.load()'可能与幕后的'.get()'完全相同吗?这是否意味着 .get() 更快?

任何其他见解将不胜感激。 CB。

【问题讨论】:

  • api.jquery.com/load "大致相当于$.get(url, data, success)"。不会有任何实质性的区别。无论如何 - 通过 Internet 执行 HTTP 获取所需的时间将比数据在您身边发生的任何事情长几个数量级。就如何实现“加载”的细节而言,这里没有什么可担心的。
  • 在我看来,一个网络请求总是比多个网络请求快。
  • @mellamokb 两种方式都只有一个请求
  • @jamietre:如果您访问同一页面两次,我没有读到 .load 被缓存的文档中的任何地方。这会在浏览器级别自动发生吗?
  • .. 你在哪里看到同一个页面被访问了两次?

标签: jquery jquery-load jquery-get


【解决方案1】:

(在 cmets 的帮助下回答我自己的问题。)

如果您查看源代码 http://james.padolsey.com/jquery/#v=git&fn=jQuery.fn.loadhttp://james.padolsey.com/jquery/#v=git&fn=jQuery.get ... 这两个函数都只是 .ajax() 调用的包装器。换行的速度差异可以忽略不计,所以我想在这种情况下这只是个人编码风格的偏好。

注意,我原来也误解了,做 $.load('file #div1,#div2,..') 和 $.load('file #div1');$.load('file # div2');... 所以 OP 标题具有误导性。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2012-12-15
    • 2019-02-17
    • 2011-07-19
    • 1970-01-01
    • 2019-12-03
    相关资源
    最近更新 更多