Javascript 生产中移动/平板电脑浏览器出现奇怪的JS错误
这个项目有很多我们从以前的开发人员那里继承的垃圾JS 我们最近已经停止在平板电脑和手机上显示图像 如您所见,桌面上的图像很好。在设备上或Chrome dev tools emulator中打开它,您可以看到问题所在 我们在开发中工作得很好,图像显示与预期一致 我们已清除CloudFlare缓存,但仍然没有任何乐趣 排除故障是有问题的,因为在本地,团队很好Javascript 生产中移动/平板电脑浏览器出现奇怪的JS错误,javascript,jquery,production-environment,Javascript,Jquery,Production Environment,这个项目有很多我们从以前的开发人员那里继承的垃圾JS 我们最近已经停止在平板电脑和手机上显示图像 如您所见,桌面上的图像很好。在设备上或Chrome dev tools emulator中打开它,您可以看到问题所在 我们在开发中工作得很好,图像显示与预期一致 我们已清除CloudFlare缓存,但仍然没有任何乐趣 排除故障是有问题的,因为在本地,团队很好 有什么指针吗?我能看到的唯一问题是,有一个对图像的调用,它应该以特定的屏幕大小加载。您可以看到,执行比较的对象返回的值显然返回错误: back
有什么指针吗?我能看到的唯一问题是,有一个对图像的调用,它应该以特定的屏幕大小加载。您可以看到,执行比较的对象返回的值显然返回错误:
background-image: url(http://www.thegospelcoalition.org/undefined);
修好了,你就应该很好了。(不考虑其他错误)在中,您有此函数获取img src并将其设置为背景图像:
_transferImages = function(selector){
var $selector=$(selector);
$selector=$selector.not($_transferredImages);
$selector.each(function(){
var $this=$(this),
$img=$this.children("img"),
$img1;
if($img.length){
$img1=$img.eq(0);
$this.css({"background-image":"url('"+ $img1.attr("src")+"')"});
$img1.remove();
}
});
$_transferredImages=$_transferredImages.add($selector);
return $selector;
};
当我使用桌面用户代理时,它工作正常,因为图像具有src属性。不幸的是,对于移动用户代理,这些图像没有src
,而是data-cfsrc
属性
要纠正此功能,请更换
$img1.attr("src")
与
你可以走了 我能给你买杯啤酒吗?CloudFlare数据源:)哈哈,很高兴我能帮上忙。顺便说一句,你的网站看起来真不错!
($img1.attr("src") || $img1.attr("data-cfsrc"))