1

我正在尝试更改图像 src 的结尾,以便在移动设备上将图像渲染得更小。我们使用 Adob​​e Scene 7,所以我可以为全尺寸图像设置预设,然后是移动图像,然后我只需要代码来更改 url。我在这里找到了这个问题,并试图将它应用到我的代码中。我的问题是我不知道如何为此编写正则表达式,美元符号让我失望。

$('img').each(function () {
    var src = $(this).attr('src');
    $(this).attr('src', src.replace($fullbanner$, '$mobilebanner$');
}); 

所以为了简单起见,有人可以帮我写一个正则表达式来填充“src.replace(, );”吗?部分?url 的初始值为 domain/company/banners/homepage/img_name?$fullbanner$,然后我们只需要将其更改为 domain/company/banners/homepage/img_name?$mobilebanner$。

另外,如果它就像说的那样简单:

src.replace('$fullbanner$', '$mobilebanner');

那么就这么说吧。我非常感谢提供的任何帮助。

4

1 回答 1

2

您可以使用attr(function)which 将遍历每个实例:

$('img').attr('src', function(index, existingSrc){
    return existingSrc.replace('$fullbanner$', '$mobilebanner');
});

请注意,这不是一个非常有效的策略,因为它不会阻止浏览器对全尺寸图像发出初始请求,因为初始页面加载中存在的任何图像在脚本运行之前已经发出请求

于 2015-10-05T17:33:36.200 回答