简体   繁体   English

替换页面加载时的所有img src-Javascript

[英]Replace all img src on page load - Javascript

I'm trying to replace all img src's on my page, when they have a certain url in them. 当它们中有特定的URL时,我尝试替换页面上的所有img src。 So far I'm able to log all the replaced img src's, but my final step would be to change them on my page. 到目前为止,我已经能够记录所有替换后的img src,但是我的最后一步是在页面上进行更改。

function replaceMyImgs() {

// put live url here
var liveUrl = "via.placeholder.com";

// find the local url
var localUrl = "testdomain.com";

// replace the local url for the live url
var newUrl = localUrl.replace(/testdomain.com/g, liveUrl);

// console.log(newUrl);

// get all images and push them in an empty array
var imgs = document.getElementsByTagName("img");
var imgSrcs = [];

for (var i = 0; i < imgs.length; i++) {
  imgSrcs.push(imgs[i].src);
}

imgSrcs.forEach(function(src) {
   // log all the found img srcs
   var newSrc = src.replace(/testdomain.com/g, liveUrl);

   imgs.src = newSrc;

   console.log(imgs.src);

 });

}

window.onload = replaceMyImgs;

See my pen: https://codepen.io/kleefaan/pen/yqzBVv 看我的笔: https : //codepen.io/kleefaan/pen/yqzBVv

Instead of pushing all elements into an array you can do the replace in the for loop like this: 您可以像下面这样在for循环中执行replace,而不是将所有元素都放入数组中:

// get all images
var imgs = document.getElementsByTagName("img");

for (var i = 0; i < imgs.length; i++) {
  var newSrc = imgs[i].src.replace(/testdomain.com/g, liveUrl);
  imgs[i].src = newSrc;
  console.log(imgs[i].src);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM