页面加载时出现404错误

时间:2012-01-31 16:02:49

标签: javascript jquery http-status-code-404

加载this page时,Firebug中会出现以下内容:

NetworkError: 404 Not Found - http://summer-festivals.cloudfoundry.com/undefined

我已将错误追踪到呈现轮播的JQuery plugin。如果我删除此插件和调用它的代码,则错误消失。

但是,我无法弄清楚插件尝试检索哪些导致错误。旋转木马本身使用的所有图像(例如,上一个,下一个,暂停按钮),以及旋转木马显示正确加载的图像,我想不出还有什么可能尝试下载。

2 个答案:

答案 0 :(得分:1)

做了一些调试(所有赞美萤火虫)我把它缩小到从第175行开始的for循环:

for(i=0;i<=numImages-1;i++)
{
thumb = $('img:eq('+(i+1)+')', obj).attr('src');
// $('#thumbs'+randID).append('<div class="thumb" id="thumb'+randID+'_'+(i+1)+'" style="cursor:pointer;background-image:url('+thumb+');display:inline;float:left;width:'+o.thumbnailWidth+';height:'+o.thumbnailHeight+';line-height:'+o.thumbnailHeight+';padding:0;overflow:hidden;text-align:center;border:2px solid #ccc;margin-right:4px;font-size:'+o.thumbnailFontSize+';font-family:Arial;color:#000;text-shadow:0 0 3px #fff">'+(i+1)+'</div>');
$('#thumbs'+randID).append('<div class="thumb" id="thumb'+randID+'_'+(i+1)+'" style="cursor:pointer;display:inline;float:left;width:'+o.thumbnailWidth+';height:'+o.thumbnailHeight+';padding:0;overflow:hidden;text-align:center;border:2px solid #ccc;margin-right:4px;font-size:'+o.thumbnailFontSize+';font-family:Arial;color:#000;text-shadow:0 0 3px #fff"><img src="'+thumb+'" width="'+o.thumbnailWidth+'" height="'+o.thumbnailHeight+'" alt="" /></div>');
// $('#thumbs'+randID).append('<div class="thumb" id="thumb'+randID+'_'+(i+1)+'" style="cursor:pointer;display:inline;float:left;width:'+o.thumbnailWidth+';height:'+o.thumbnailHeight+';padding:0;overflow:hidden;text-align:center;border:2px solid #ccc;margin-right:4px;font-size:'+o.thumbnailFontSize+';font-family:Arial;color:#000;text-shadow:0 0 3px #fff"><img src="thumbnail.php?i='+thumb+'&w='+o.thumbnailWidth+'&h='+o.thumbnailHeight+'&q=100" alt="" /></div>');
if(i<=o.inView) $('#thumb'+randID+'_'+i).css({'border-color':'#ff0000'});
unviewable.push(i+1);
} 

选择器中的i+1中出现错误的结果。 objdiv#carousel,此时有9张图片(numImages已正确设置为9)。

然而,选择器从1到9循环,而我相信它应该从0循环到8(jsut通过在观察窗口中粘贴东西)。这意味着当它评估$('img:eq(9)', obj)时,它什么都没有回来,所以src属性是“未定义的”。然后它尝试添加一个带有“undefined”的图像作为src whcih它出错的地方。

它看起来像是旋转木马代码中的错误所以我可能建议尝试与他们讨论它。您可以通过用i替换i + 1来修复它,但我不保证。 :)

答案 1 :(得分:0)

在调用所有资源之前,请尝试将主库调用放入标题标记。

这些应该仍然在你的标题中。您的文档ready()内容可以保留在页脚中。看看这是否可以解决您的问题。

<script src="/static/js/namespace.js" type="text/javascript" ></script>
<script src="/static/js/global.js" type="text/javascript" ></script>
<script src="/static/js/slide.js" type="text/javascript" ></script>
<script src="/static/js/superfish/hoverIntent.js" type="text/javascript" ></script>
<script src="/static/js/superfish/superfish.js" type="text/javascript" ></script>
<script src="/static/js/superfish/supersubs.js" type="text/javascript" ></script>
<script src="/static/js/tablesorter/jquery.tablesorter.min.js" type="text/javascript" ></script>
<script src="/static/js/tablesorter/jquery.metadata.js" type="text/javascript" >  </script>
<script src="/static/js/tablesorter/init.js" type="text/javascript" ></script>
<script src="/static/js/jquery.simplemodal.1.4.2.min.js" type="text/javascript" >     </script>
<script src="/static/js/carousel/jquery.infinitecarousel2-thumbmod-1.js" type="text/javascript" ></script>