Replace eBay description iframe with xmlhttpRequest

Removes the iframe under "Item description from the seller" and Replaces it with html from xmlhttpRequest

За да инсталирате този скрипт, трябва да имате инсталирано разширение като 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        Replace eBay description iframe with xmlhttpRequest
// @namespace   dd
// @match       https://www.ebay.com/itm/*
// @grant       GM_xmlhttpRequest
// @version     1.0
// @author      DD3R
// @license     MIT
// @description Removes the iframe under "Item description from the seller" and Replaces it with html from xmlhttpRequest
// ==/UserScript==

let iframe = document.querySelector("#desc_ifr");

let descriptionDiv = document.createElement("div");
descriptionDiv.id = "itemDescription";
descriptionDiv.setAttribute("original-url", iframe.src);

GM_xmlhttpRequest({
    method: 'GET',
    url: iframe.src,
    onload: function (response) {
        if (response.status >= 200 && response.status < 400) {
            let htmlString = response.responseText;
            let parser = new DOMParser();
            let doc = parser.parseFromString(htmlString, 'text/html');
            descriptionDiv.innerHTML = doc.documentElement.querySelector(".x-item-description-child").outerHTML;
        } else {
            console.error('Failed to fetch the document');
        }
    },
    onerror: function (error) {
        console.error('Error fetching the document:', error);
    }
});

iframe.parentNode.replaceChild(descriptionDiv, iframe);