Jquery 在非视网膜设备上,将@2x添加到高于特定分辨率的src

Jquery 在非视网膜设备上,将@2x添加到高于特定分辨率的src,jquery,retina,Jquery,Retina,我在我的网站上使用retinaJS在视网膜设备上提供@2x图像 我还希望能够使用jQuery在无视网膜的大屏幕桌面设备上提供@2x图像。因此,如果屏幕分辨率高于1330px,那么我希望能够将@2x添加到文件后缀/扩展名之前的文件名末尾 有人能建议我怎么做吗 我的理论是找到目标DIV中的所有图像(例如bodycontent),然后从属性src中倒数4个字符,并将@2x添加到src中 e、 g example.jpg变为example@2c.jpg而fecks.png变成了chickens@2x.p

我在我的网站上使用retinaJS在视网膜设备上提供@2x图像

我还希望能够使用jQuery在无视网膜的大屏幕桌面设备上提供@2x图像。因此,如果屏幕分辨率高于1330px,那么我希望能够将@2x添加到文件后缀/扩展名之前的文件名末尾

有人能建议我怎么做吗

我的理论是找到目标DIV中的所有图像(例如bodycontent),然后从属性src中倒数4个字符,并将@2x添加到src中

e、 g

example.jpg变为example@2c.jpg而fecks.png变成了chickens@2x.png

当然,这只适用于具有3个leter扩展名的文件-例如png/jpg-但这没关系,因为我从不将文件称为JPEG,例如

我需要的代码适用于在目标DIV中找到的所有图像

有什么帮助吗

干杯

每次调整大小时都会调用此函数来检查@2x是否需要应用-我如何添加一些代码来检查@2x是否已经包含在attr src中,如果它已经是@2x,则不执行此操作?

这应该可以做到,无论扩展长度如何,只要
.xxx
是图像URL的最后一部分:

$('.bodycontent img').prop('src', function(_, src) {
    src = src.replace(/@2x\./, '.');         // strip if it's already there
    return src.replace(/(\.\w+$)/, '@2x$1');
});
只要
.xxx
是图像URL的最后一部分,无论扩展长度如何,都应该这样做:

$('.bodycontent img').prop('src', function(_, src) {
    src = src.replace(/@2x\./, '.');         // strip if it's already there
    return src.replace(/(\.\w+$)/, '@2x$1');
});
只要
.xxx
是图像URL的最后一部分,无论扩展长度如何,都应该这样做:

$('.bodycontent img').prop('src', function(_, src) {
    src = src.replace(/@2x\./, '.');         // strip if it's already there
    return src.replace(/(\.\w+$)/, '@2x$1');
});
只要
.xxx
是图像URL的最后一部分,无论扩展长度如何,都应该这样做:

$('.bodycontent img').prop('src', function(_, src) {
    src = src.replace(/@2x\./, '.');         // strip if it's already there
    return src.replace(/(\.\w+$)/, '@2x$1');
});

实际检查我提出的最佳视网膜交付解决方案:实际检查我提出的最佳视网膜交付解决方案:实际检查我提出的最佳视网膜交付解决方案:实际检查我提出的最佳视网膜交付解决方案: