Remove Duplicate Badges

Remove duplicate elements with class 'skin'

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
Aloncoder
日安装量
0
总安装量
23
评分
0 0 0
版本
0.1
创建于
2023-11-14
更新于
2023-11-14
大小
2.2 KB
许可证
暂无
适用于
所有网站

// ==UserScript==
// @name Remove Duplicate Badges
// @namespace https://www.snay.io/
// @version 0.1
// @description Remove duplicate elements with class 'skin'
// @author Alon
// @match *://*/*
// @grant none
// ==/UserScript==


(function() {
'use strict';

// Function to remove duplicate elements by name and image source
function removeDuplicatesByNameAndImage() {
// Find all elements with class 'skin'
var skinElements = document.querySelectorAll('.skin');

// Create an object to store unique name and image combinations
var uniqueCombos = {};

// Iterate through each element
skinElements.forEach(function(element) {
// Get the name and image source attributes of the element
var name = element.getAttribute('name');
var imageSrc = element.querySelector('img').getAttribute('src');

// Combine name and image source to create a unique identifier
var combo = name + '|' + imageSrc;

// Check if the combination is already in the uniqueCombos object
if (uniqueCombos[combo]) {
// If it's a duplicate, remove the element
element.remove();
} else {
// If it's not a duplicate, add it to the uniqueCombos object
uniqueCombos[combo] = true;
}
});
}

// Function to initiate the observer after the website has fully loaded
function setupObserver() {
// Create a mutation observer instance
var observer = new MutationObserver(removeDuplicatesByNameAndImage);

// Define the target node (the parent element that contains '.skin' elements)
var targetNode = document.body; // You may need to adjust this based on your HTML structure

// Configuration of the observer:
var config = { childList: true, subtree: true };

// Start observing the target node for mutations
observer.observe(targetNode, config);
}

// Wait until the entire website has loaded
window.onload = function() {
// Call the function to initiate the observer after the website has fully loaded
setupObserver();
};
})();