javascript - 生产中的手机/平板电脑浏览器上出现奇怪的 JS 错误

标签 javascript jquery production-environment

这个项目有很多我们从以前的开发人员那里继承来的垃圾 JS。

最近我们的图像停止出现在 http://www.thegospelcoalition.org 上在平板电脑和手机上。

如您所见,图像在桌面上效果很好。将其拉到设备上或 Chrome 开发工具模拟器中,您就可以看到问题。

我们的开发工作进展顺利,图像按预期显示。

我们已经清除了 CloudFlare 缓存,但仍然不高兴。

排查问题是有问题的,因为在本地,团队都很好。

有什么指点吗?

最佳答案

js/aggregate-ck.js ,你有这个函数来获取 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")

($img1.attr("src") || $img1.attr("data-cfsrc"))

一切顺利!

关于javascript - 生产中的手机/平板电脑浏览器上出现奇怪的 JS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183238/

相关文章:

javascript - 无法使用纯 JavaScript 或 jQuery 更改innerHtml

javascript - Jquery 验证删除规则不起作用

mysql - 更新数据库用户的权限对现有连接有什么影响?

javascript - 如何在 JavaScript 中求多项式方程的次数?

javascript - 对组件列表进行 react 排序

javascript - 哪些字符被认为是不安全的,应该从文本输入字段中阻止?

javascript - 从 xml 响应中获取 svg 元素

javascript - 在生产环境中使用 CoffeeScript

linux - Thymeleaf sec :authorize and sec:authentication attributes, 对生产没有影响,但在 IDE 上工作正常

javascript - 按钮悬停将更改 div 的背景和两个 block 之间的图片