Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/75fb8961c8a0c2a2e90aafe0441f8cbb.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name Ebay - Remove listings with multiple prices
// @namespace ebay_remove_price_range_listings
// @description Removes those annoying price range listings from search results
// @include /^https://www\.ebay\.com/sch.*/i\.html.*$/
// @include /^https://www\.ebay\.(..)/sch.*/i\.html.*$/
// @include /^https://www\.ebay\.co\.(..)/sch.*/i\.html.*$/
// @include /^https://www\.ebay\.com\.(..)/sch.*/i\.html.*$/
// @author Jous
// @grant none
// @license Unlicense; http://unlicense.org/
// @version 1.1.3
// @downloadURL https://update.greasyfork.icu/scripts/370761/Ebay%20-%20Remove%20listings%20with%20multiple%20prices.user.js
// @updateURL https://update.greasyfork.icu/scripts/370761/Ebay%20-%20Remove%20listings%20with%20multiple%20prices.meta.js
// ==/UserScript==
var whitelist = ['gameboy color', 'amiga 1200'];
var searchParams = new URLSearchParams(location.search);
console.log("param:" + searchParams.get('_nkw'))
if (whitelist.includes(searchParams.get('_nkw'))) {
// do nothing
} else if (!searchParams.has('_sop') || !searchParams.has('_ipg') || !searchParams.has('LH_BIN')) {
searchParams.set('_sop','15') // sort by "Price & Shipping: lowest first"
searchParams.set('_ipg','200') // show 200 results
searchParams.set('LH_BIN','1') // remove auction items
location.replace(location.toString().replace(location.search, '') + '?' + searchParams.toString())
} else {
var tags = null;
var count = 0;
// Remove multi-price products for new layout
tags = document.querySelectorAll(".prRange");
Array.prototype.forEach.call(tags, function(elem) {
var removeElement = elem.parentNode.parentNode.parentNode.parentNode;
removeElement.parentNode.removeChild(removeElement);
count++;
});
// Remove multi-price products for old layout
tags = document.querySelectorAll(".DEFAULT");
Array.prototype.forEach.call(tags, function(elem) {
var removeElement = elem.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
removeElement.parentNode.removeChild(removeElement);
count++;
});
// Show to user how many products were removed
var infoMsg = document.createElement("div");
infoMsg.appendChild(document.createTextNode(count + " price range listings were"));
infoMsg.appendChild(document.createElement("br"));
infoMsg.appendChild(document.createTextNode("removed. (had wrong products)"));
infoMsg.style.position = "absolute";
infoMsg.style.top = "40px";
infoMsg.style.left = "10px";
infoMsg.style.padding = "10px";
infoMsg.style.backgroundColor = "#ccc";
document.body.appendChild(infoMsg);
}