JavaScript会删除页面上的所有唯一图像
JavaScript delete all unique images on the page
我正在尝试创建一个用户脚本,该脚本将删除某个页面上的所有唯一图像。所以我需要比较所有的链接并删除每个唯一的链接。我正试着用这种方式:
var images = document.getElementsByTagName('img');
for(i = 0;i < images.length; i++){
for(j = 0;j < images.length; j++){
if(images[i].src.!(match(images[j])) images[i].remove()
}
或者用"display:none"隐藏
function hideUnique() {
var imgs = document.getElementsByTagName('img');
var srcs = [];
for (var i = 0, n = imgs.length; i < n; i++) {
srcs[imgs[i].src] = (srcs[imgs[i].src] || 0) + 1;
}
for (var i = 0, n = imgs.length; i < n; i++) {
if (srcs[imgs[i].src] == 1)
imgs[i].style.display = 'none';
}
}
你可以试试这个
var images = document.getElementsByTagName("img");
var imageSrcMap = {};
for(var i = 0; i < images.length; i++){
if(!imageSrcMap[images[i].src]){
imageSrcMap[images[i].src] = {
count:0,
position:[]
}
}
imageSrcMap[images[i].src].count++;
imageSrcMap[images[i].src].position.push(i);
}
Object.keys(imageSrcMap).forEach(function(src){
if(imageSrcMap[src].count === 1){
images[imageSrcMap[src].position[0]].style.display = 'none';
}
});
这看起来与您的代码相似。
var images = document.getElementsByTagName("img");
var arr = [];
for(x in images){
If(arr.indexOf(images[x].src) == -1){
arr.push(images[x].src);
}else
images[x].style.display = "none";
}
}
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- JavaScript会删除页面上的所有唯一图像
- 使用唯一ID查看多个浏览过的图像
- 每个图像的唯一URL(最好只添加哈希),直接显示弹出图像
- 制作一个基本的网页,网页的唯一目的是能够在本地上传背景图像并显示它
- 我可以让数组中的每个图像都是唯一的链接吗?