2012-01-31 176 views
0

this page负载,在Firebug画面显示如下:404错误页面加载

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

我已经找到了错误到使传送带上的JQuery plugin。如果我删除这个插件和调用它的代码,错误消失。

但是,我无法弄清楚插件试图检索导致错误。所有传送带本身使用的图像(例如prev,next,pause按钮)以及传送带显示的图像加载正确,我想不出还有什么可能试图下载。

+0

我从undefined猜测,它试图形成一个url或类似的东西使用未定义的属性。在某个数组中没有空条目或者长度指示符不正确(例如,说只有9个时有10个图像)在那里?很明显的想法,但你可能没有想到他们...... – Chris 2012-01-31 16:05:18

+0

@Chris它可能是这样的,但错误消息不给出一个行号,我没有写插件,所以我真的不知道从哪里开始 – 2012-01-31 16:08:51

+0

该网站上似乎还有该插件的更新版本。你可能也想测试一下。 – j08691 2012-01-31 16:17:03

回答

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> 
+0

我试过了,它没有什么区别 – 2012-01-31 16:19:37

1

后做了一些调试(全部好评萤火虫)的我把范围缩小到for循环开始上线175:

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(通过粘附在观察窗口的东西)。这意味着当它开始评估$('img:eq(9)', obj)时,它不会得到任何回应,所以src属性是“未定义的”。然后它会尝试添加一个带有“未定义”的图像作为src,这是它出错的地方。

它看起来像旋转木马代码中的一个错误,所以我可能会建议尝试与他们谈论它。你可以通过用i取代i + 1来修复它,但是我没有提供任何保证。 :)

+0

很棒的工作,现在我大致知道错误在哪里,希望我能解决它。任何想法为什么Firebug没有指出错误的行号? – 2012-01-31 17:24:34

+0

我不知道,我很害怕。我只是通过各种各样的位来找到它,直到我得到错误,然后跳入那一段代码并重复。唯一我能想到的是它是匿名函数,例如JS引擎可能失去了它们最初来自哪里的踪迹。尽管如此,这种事情已经过去了。 :) – Chris 2012-02-01 10:06:48