iDontLikeRufus

Removes mentions of "Rufus," Amazon's AI assistant, from the US Amazon webpage.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         iDontLikeRufus
// @namespace    https://greasyfork.org/en/scripts/540236-idontlikerufus
// @version      1.0.5
// @description  Removes mentions of "Rufus," Amazon's AI assistant, from the US Amazon webpage.
// @author       nexnot
// @match        https://www.amazon.com/*
// @match        https://smile.amazon.com/*
// @license      unlicense
// ==/UserScript==

(function() {
    'use strict';

    function removeRufusText() {
        const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, {
            acceptNode: (node) => {
                if (node.parentElement && node.parentElement.offsetParent !== null) {
                    return NodeFilter.FILTER_ACCEPT;
                }
                return NodeFilter.FILTER_REJECT;
            },
        });

        let node;
        while ((node = walker.nextNode())) {
            if (node.nodeValue.includes('Rufus')) {
                node.nodeValue = node.nodeValue.replace(/Rufus/g, '');
                // You can change the ('') above to a different name (i.e. (/Rufus/g, 'myName') ) if you'd like to rename Rufus. Default is to replace it with whitespace (i.e. empty string). 
            }
        }
    }
    window.addEventListener('load', removeRufusText);

    const observer = new MutationObserver(() => removeRufusText());
    observer.observe(document.body, { childList: true, subtree: true });
})();