您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pomaga zarządzać swoimi ofertami sprzedaży na bazar.lowcygier.pl / Helps managing offers at bazar.lowcygier.pl
// ==UserScript== // @name Pomocnik Bazarowicza // @namespace http://tampermonkey.net/ // @version 0.6.0 // @description Pomaga zarządzać swoimi ofertami sprzedaży na bazar.lowcygier.pl / Helps managing offers at bazar.lowcygier.pl // @author nochalon // @match https://bazar.lowcygier.pl/offer/my* // @icon https://bazar.lowcygier.pl/favicon.ico // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js // @grant none // ==/UserScript== /* jshint esversion: 6 */ (function() { 'use strict'; const offersCustomSortingSettingsEntry = "_SETTINGS_offersCustomSorting"; const offersCustomSortingName = "offers-custom-sorting"; const offersCustomSortingStyle = "float: left; width: 100%;"; const offersCustomSortingSelector = "div.col-md-4.search-row"; const priceSelector = ".fa.fa-usd.icon-sm"; var searchRow = document.querySelector(offersCustomSortingSelector); var offersCustomSortingVal = localStorage.getItem(offersCustomSortingSettingsEntry) || "false"; var offersCustomSortingElem = document.createElement('div'); offersCustomSortingElem.style = offersCustomSortingStyle; offersCustomSortingElem.innerHTML = `<input type="checkbox" id="${offersCustomSortingName}"><label for="${offersCustomSortingName}">Sortowanie wg. atrakcyjności ceny</label>`; searchRow.appendChild(offersCustomSortingElem); var offersCustomSortingCheckbox = document.querySelector("input[id=offers-custom-sorting]"); offersCustomSortingCheckbox.checked = offersCustomSortingVal === 'true'; offersCustomSortingCheckbox.addEventListener("change", (e) => { localStorage.setItem(offersCustomSortingSettingsEntry, e.target.checked); document.getElementById("w0").submit(); }); const re = /\d+\.\d+ zł/g; var ths = document.querySelectorAll(priceSelector); for (var i = 0; i < ths.length; i++) { var originalText = ths[i].getAttribute("title"); if (originalText === null || originalText == "") { originalText = ths[i].getAttribute("data-original-title"); } var content = originalText.match(re); var lowestPrice = document.createElement("div"); var priceElem = ths[i].parentNode.parentNode.parentNode.querySelectorAll(".prc-offert")[0]; var myPrice = document.createElement("div"); var myPriceVal = parseFloat(priceElem.innerHTML.replace(',', '.')); var lowestPriceVal = parseFloat(content) || 0; var difference = myPriceVal - lowestPriceVal; var color = 255 * (difference / myPriceVal); var factor = 0.9; if (difference >= myPriceVal * 0.5) { myPrice.style.color= "rgb(" + color + "," + (255 - factor * color) + "," + (255 - factor * color) + ")"; } else { myPrice.style.color= "rgb(" + (factor * color) + "," + (255 - color) + "," + (factor * color) + ")"; } var percentage = (100 * (difference / myPriceVal)).toFixed(1); lowestPrice.innerHTML = content; lowestPrice.title = `taniej o ${percentage}%`; lowestPrice.setAttribute('data-toggle', 'tooltip'); lowestPrice.classList.add("trader"); myPrice.innerHTML = priceElem.innerHTML; priceElem.innerHTML = ""; priceElem.appendChild(myPrice); priceElem.appendChild(lowestPrice); priceElem.parentNode.parentNode.parentNode.setAttribute('data-sort', percentage); } if (offersCustomSortingVal === 'true') { var result = jQuery('div.list-view > div').sort(function (a, b) { var contentA = parseFloat($(a).data('sort')) || 0; var contentB = parseFloat($(b).data('sort')) || 0; return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0; }); jQuery('div.list-view > div').remove(); jQuery('div.list-view').prepend(result); } })();