Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用querySelectorAll向图像源添加前缀_Javascript_Selectors Api - Fatal编程技术网

Javascript 使用querySelectorAll向图像源添加前缀

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

我正在尝试使用weserv.nl图像代理服务来使用他们的云服务器加载图像,而不是原始的img src图像。为所有图像重写src已经太晚了,我也不想为此使用jQuery,因为我的目的是让站点更快,而不是更慢地加载。 因此,我希望imgsrc不要加载原始图像,而是向src添加前缀并加载结果。小提琴就是一个例子。最困难的部分是,这些图像没有指定id或类

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?可能吗?太好了!很乐意帮忙。享受:)