小编Put*_*uko的帖子

使用promises数组和$ .when忽略AJAX错误

我有以下代码从YouTube视频ID数组中获取JSON.当所有视频都存在且查询成功时,它的效果很好.它发送了几个getJSON请求,当它们全部完成时... $ .when.done()触发,我可以处理结果数据.

var
  results  = {},
  promises = [];

$(document).ready(function() {

  var
    vids = [
    'ozj2-bnTL3s',
    'EAZ4Tlt8MQ4',
    'Xn9o7cxqVoA'
    // ,'this-videoid-doesnot-exists'
  ],
  url = 'http://gdata.youtube.com/feeds/api/videos/{{vid}}?v=2&alt=json';

  $.each(vids, function(idx, vid){
    var
      u = url.replace('{{vid}}', vids[idx]),
      p = null;

    p = $.getJSON( u ).done(function(data) {
      results[vid] = data.entry;
    });

    promises.push(p);
  });

  $.when.apply($, promises).done(function(){
    console.log(results);
  });

});
Run Code Online (Sandbox Code Playgroud)

但是......在最终的应用程序中,我无法控制YouTube中是否仍然存在所有视频,我意识到有时列表中的一个(或几个)视频可能已被删除...或者ID我从DB得到的不正确.

有没有什么方法可以安全地添加到结果变量只有成功whiteout触发$ .when.fail()的视频?并等待所有查询完成...

我的意思是,我的最终目标是从存在的视频(成功检索其数据的那些)中获取数据,并以某种方式忽略那些不存在或不可用的视频...而且我认为不对现在怎么做.

任何想法/方法都会受到欢迎.TIA!
你可以在这个JSFiddle中找到代码

ajax jquery getjson promise jquery-deferred

8
推荐指数
1
解决办法
1338
查看次数

BODY背景图像在浏览器视口中被切断

解决
方案我使用罗曼提出的解决方案,基于添加额外的DIV位置:绝对,我测试它在IE7,IE8,IE9,Chrome和Firefox,似乎工作正常!

因此布局现在有3个完整的背景图像(我需要的是什么),甚至你可以使用BODY bg照顾它将被切断到浏览器的视口高度(在某些情况下仍然有用),"三和和一半"bg图像与"粘性页脚":)

唯一的缺点我发现#footerContent中的链接不是"可点击的",我用position:相对于这个容器解决了它.

我对我提供的示例进行了更改,并将其上传到我的Dropbox,以防其他人发现它有用.谢谢大家的答案. http://dl.dropbox.com/u/512412/html_stackoverflow_solution.rar


我上传了

我正在为一个网站构建一个非常复杂的布局,我需要有3个背景图像来覆盖网页的背景.所以我有一个HTML风格,一个是BODY风格,最后一个是DIV,它是所有网页元素的容器(#contenedor)

我也唱了一个"粘性页脚"技术,让页脚"粘在"页面的底部,"主要内容"区域中的内容很少.

我遇到的问题是BODY bg图像被切断到Web浏览器的视口,我的意思是,它不会重复 - 在页面加载时显示的可见区域下方,并且内容为"高"足以使网页滚动.

我到现在为止尝试了什么:

  1. 添加一个额外的容器DIV围绕所有(这对我来说没问题),但这样做它破坏了"粘性页脚"(也许我找不到正确的方法去做...我不知道).

  2. 使用以下方法强制BODYHTML一样高:

    html>body {  
    min-height:100%;  
    height:auto;  
    height:100%; }
    
    Run Code Online (Sandbox Code Playgroud)

这解决了BODY问题,图像重复,但这也打破了"粘性页脚"...... :(

你可以看到一个样本:
带有"小内容"的索引都可以......底部的页脚等等
http://carloscabo.com/bg/index.htm

带有高内容的索引页面(简单的BR),向下滚动以查看BODY bg上的剪切图片
http://carloscabo.com/bg/index_tall.htm

您还可以在以下URL中下载此示例的所有文件,以进行本地测试.
http://carloscabo.com/bg/stackoverflow_html.zip

css layout html5

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×1

css ×1

getjson ×1

html5 ×1

jquery ×1

jquery-deferred ×1

layout ×1

promise ×1