Javascript 使用querySelectorAll向图像源添加前缀
我正在尝试使用weserv.nl图像代理服务来使用他们的云服务器加载图像,而不是原始的img src图像。为所有图像重写src已经太晚了,我也不想为此使用jQuery,因为我的目的是让站点更快,而不是更慢地加载。 因此,我希望imgsrc不要加载原始图像,而是向src添加前缀并加载结果。小提琴就是一个例子。最困难的部分是,这些图像没有指定id或类Javascript 使用querySelectorAll向图像源添加前缀,javascript,selectors-api,Javascript,Selectors Api,我正在尝试使用weserv.nl图像代理服务来使用他们的云服务器加载图像,而不是原始的img src图像。为所有图像重写src已经太晚了,我也不想为此使用jQuery,因为我的目的是让站点更快,而不是更慢地加载。 因此,我希望imgsrc不要加载原始图像,而是向src添加前缀并加载结果。小提琴就是一个例子。最困难的部分是,这些图像没有指定id或类 var items = document.querySelectorAll("div.separator img"); for (var i = it
var items = document.querySelectorAll("div.separator img");
for (var i = items.length; i--;) {
var img = items[i];
img.src = img.src.replace(/.*?:\/\//g, "");
img.src='https://images.weserv.nl?url='+img.src+'&w=120';
}
由于图像没有附加类或ID,您仍然可以引用父标记并获取要替换的所有图像 同样在代码中,您要设置src属性两次。这不是必需的。替换
/
时,只需将其存储到变量中,然后将其设置为img.src
根据您的小提琴,您有两个div,因此我使用divimg
作为选择器来更改src
var items = document.querySelectorAll("div img");
for (var i = items.length; i--;) {
var img = items[i],
src = img.src.replace(/.*?:\/\//g, "");
img.src='https://images.weserv.nl?url='+src+'&w=120';
}
谢谢穆罕默德,它成功了。可以在查看。如果您不介意的话,还有一个问题:如何使浏览器只加载代理图像而不加载原始src?可能吗?太好了!很乐意帮忙。享受:)