如何改写处理img标签的Array.prototype.map.call逻辑实现图片链接s1600转s320
解决方案
直接在原有map回调中对img.src执行字符串替换即可,修改后的代码如下:
Array.prototype.map.call(document.getElementsByTagName("img"), img => img.src.replace(/\/s1600\//, '/s320/'));
补充说明
- 正则
/\/s1600\//会精准匹配链接路径中独立的s1600段,避免误替换链接其他位置出现的相同字符 - 如果你的场景中s1600不是路径段、而是作为查询参数存在,可改用全量替换写法:
img.src.replace('s1600', 's320') - 如果需要把任意尺寸参数统一替换为s320,可以把正则修改为
/\/s\d+\//,即可兼容s0、s800、s1600等各类尺寸参数
内容的提问来源于stack exchange,提问作者shafeek
相关产品推荐
相关产品推荐

