我正在尝试在jQuery中检测损坏的图像,在这种情况下,我想删除它们并替换为它的alt文本。 我正在使用我在SO上找到的以下代码;
$(document).ready(function(){
$('img.logoimg').error(function() {
$(this).unbind("error");
$(this).parent().prepend("<strong>"+$(this).attr("alt")+"</strong>");
$(this).remove();
});
//...
}
这在FF中运行良好。
但是,在Chrome中,浏览器仍会显示一个正方形,表示图像已损坏。
似乎error
事件发生的时间太晚,无法检测到损坏的图像。
我能早点点火吗?代码还有其他问题吗?
[编辑] 在下面添加了解决方案。任何能够解释这一点的人都能获得这个问题的解决方案。
答案 0 :(得分:0)
我通过消除确定了问题。这不是你想的地方。 在我的脚本标记下,我有一个Google广告代码:
<script type="text/javascript" src="my_javascript.js"></script>
<script type='text/javascript' src='http://partner.googleadservices.com/gampad/google_service.js'></script>
<script type='text/javascript'>GS_googleAddAdSenseService("ca-pub-XXXXXXXXXXXXXX");GS_googleEnableAllServices();</script>
<script type="text/javascript">
GA_googleAddSlot("ca-pub-XXXXXXXXXXXXXX","banner_1");
GA_googleAddSlot("ca-pub-XXXXXXXXXXXXXX","banner_2");
GA_googleAddSlot("ca-pub-XXXXXXXXXXXXXX","banner_3");
GA_googleFetchAds();
</script>
这是最后一次召唤:GA_googleFetchAds()
杀死了它。删除该呼叫似乎解决了我的问题。奇怪的。
我现在已经解决了这个问题:
$(document).ready(function(){
GA_googleFetchAds();
});
任何有合理解释的人都会赢得我永恒的尊重和感激。