Javascript bookmarklet不';不要更改图像';s源

Javascript bookmarklet不';不要更改图像';s源,javascript,bookmarklet,Javascript,Bookmarklet,我已经尝试了一段时间来创建一个bookmarklet,它可以简单地用一个其他的图片替换网站上的所有图片。在尝试之后,我得到了一行应该可以工作的代码,但是它只是。。。没有 javascript:function img_find() {var imgs = document.querySelectorAll("img");return imgs;} var images = img_find(); for (var i = 0; i < images.length; i++) {image

我已经尝试了一段时间来创建一个bookmarklet,它可以简单地用一个其他的图片替换网站上的所有图片。在尝试之后,我得到了一行应该可以工作的代码,但是它只是。。。没有

javascript:function img_find() {var imgs = document.querySelectorAll("img");return imgs;}  var images = img_find(); for (var i = 0; i < images.length; i++) {images[i].src.replace(images[i].src, "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png";}
javascript:function img_find(){var imgs=document.queryselectoral(“img”);return imgs;}var images=img_find();对于(var i=0;i
这是我试过的一些代码。我也试过:

javascript:function img_find() {var imgs = document.querySelectorAll("img");return imgs;}  var images = img_find(); for (var i = 0; i < images.length; i++) {images[i].src = "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png";}
javascript:function img_find(){var imgs=document.querySelectorAll(“img”);return imgs;}var images=img_find();for(var i=0;i

由于某些原因,这两段代码都不起作用,第一段代码什么都不做,第二段代码只是用url替换整个网页。

正如注释中所述,您的第二段代码只按预期工作,对于第一段代码,它不起作用,因为replace方法没有更改传递给它的原始字符串,而是返回ins替换一个新的。换句话说,在第一个代码段中,您应该在for循环内编写:

images[i].src = images[i].src.replace(images[i].src, "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png");
代替您的:

images[i].src.replace(images[i].src, "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png");
也就是说,我会使用第二个片段,第一个片段,就像用钻头刺穿一张纸一样

第一个片段

函数img_find(){
var imgs=document.querySelectorAll(“img”);
返回imgs;
}
var images=img_find();
对于(var i=0;i

正如注释中所述,您的第二个代码段与预期一样工作,对于第一个代码段,它不工作,因为replace方法不会更改传递给它的原始字符串,而是返回一个新的替换字符串。换句话说,在第一个代码段中,您应该在for循环内编写:

images[i].src = images[i].src.replace(images[i].src, "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png");
代替您的:

images[i].src.replace(images[i].src, "https://api.time.com/wp-content/uploads/2019/08/caveman-spongebob-spongegar.png");
也就是说,我会使用第二个片段,第一个片段,就像用钻头刺穿一张纸一样

第一个片段

函数img_find(){
var imgs=document.querySelectorAll(“img”);
返回imgs;
}
var images=img_find();
对于(var i=0;i


你能再解释一下发生了什么吗?因为我在你的第二行中没有发现任何错误,只选择一行。你能再解释一下发生了什么吗?因为我在你的第二行中没有发现任何错误,只选择一行。这里有一个指向最终发生的事情的链接。当用作书签时,对于两段代码,它都会替换任何包含此内容的网页。顺便说一句,这是google.com。@LionMow我很抱歉,但我不太确定你在写什么。如果以前的任何片段用你提供的链接替换了页面上的任何内容,那么你的机器上会有一些奇怪的东西。这是一个指向最终发生的事情的链接。当用作书签时,这两种情况都会发生代码片段,它用这个替换任何网页。顺便说一句,这是google.com。@LionMow我很抱歉,但我不太确定你在写什么。如果以前的任何代码片段用你提供的链接替换网页上的任何内容,你的机器上会有奇怪的东西。