您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Some Weee helpers
// ==UserScript== // @name Weee Helper // @author jerryc05 // @namespace https://github.com/jerryc05 // @supportURL https://github.com/jerryc05/Weee-Helper // @version 5 // @description Some Weee helpers // @match https://sayweee.com/* // @match https://*.sayweee.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=sayweee.com // @grant none // ==/UserScript== (() => { 'use strict' let tIgn = false function throttle(f, t) { if (tIgn) return tIgn = true setTimeout(() => { f() tIgn = false }, t) } new MutationObserver(() => throttle(() => { function parsePrice(x) { const p = parseFloat(x.querySelector('[class*="producsPrice"]').lastChild.textContent) const b = x.querySelector('[class*="basePrice_"]') return [p, b ? parseFloat(b.lastChild.textContent) : null] } // show discount rate setTimeout(() => { for (let x of document.querySelectorAll('[class*="ProductCard_label_"]')) { if (!x.textContent.includes('Off') || x.textContent.includes('(')) continue while (x.tagName.toLowerCase() !== 'a') x = x.parentNode const [p, b] = parsePrice(x) if (!b) continue const l = x?.querySelector('[class*="label_"]') if (!l) continue l.textContent = `${parseFloat(((b - p) / b * 100).toFixed(2))}% ($${parseFloat((b - p).toFixed(2))}) Off` l.style.fontWeight = 'bold' l.style.backgroundColor = 'red' } }, 0) // show total amount in cart setTimeout(() => { const c = document.querySelector('[class*="miniCartInHeaderText_"]') if (!c || c.textContent.includes(' ')) return c.textContent += ' ' fetch('https://api.sayweee.net/ec/so/porder/v3', { headers: { 'Authorization': `Bearer ${document.cookie.match(/auth_token=([^;]+)/)[1]}` } }).then(x => x.json()) .then(x => { c.textContent += `$${x.object.total_price}` }) }, 0) // remove refer text setTimeout(() => document.querySelector('[class*="referFriendText_"]')?.remove(), 0) // sort by discount rate/amount if (window.location.pathname.includes('category/')) setTimeout(() => { const ID = 'discount_sort' if (document.getElementById(ID)) return const h = document.querySelector('[class*="category_resultHeader_"]') if (!h) return const DEFAULT = 'Default' const s = document.createElement('select') s.id = ID for (const x of [DEFAULT, 'Discount %', 'Discount $']) { const l = document.createElement('option') l.text = x l.value = x if (x === DEFAULT) l.selected = true s.append(l) } s.onchange = () => { if (s.value === DEFAULT) return const items = document.querySelector('[class*="listContent_"]'); [...items.children] .sort((a, b) => { const [p1, b1] = parsePrice(a) const [p2, b2] = parsePrice(b) if (!b2) return 0 if (!b1) return 1 return s.value.includes('%') ? ((p1 - b1) / p1) - ((p2 - b2) / p2) : (p1 - b1) - (p2 - b2) }) .forEach(x => items.appendChild(x)) } h.insertBefore(s, h.lastChild) }, 0) }, 1000)).observe(document.body, { childList: true, subtree: true }) })()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址