您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removing the need to alt-tab to the calculator
// ==UserScript== // @name John Lewis show prices with staff discount // @namespace http://tampermonkey.net/ // @version 0.1 // @description Removing the need to alt-tab to the calculator // @author Bzly // @license GNU GPLv3 // @match https://www.johnlewis.com/*/p* // @icon data:image/svg+xml;utf-8,%3Csvg viewBox='0 0 144 92' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E:root %7Bfill: %23000;%7D@media (prefers-color-scheme:dark)%7B:root %7Bfill: %23fff;%7D%7D%3C/style%3E%3Crect x='52' width='92' height='92'%3E%3C/rect%3E%3Crect x='33' width='13' height='92'%3E%3C/rect%3E%3Crect x='16' width='8' height='92'%3E%3C/rect%3E%3Crect width='4' height='92'%3E%3C/rect%3E%3C/svg%3E // @grant none // ==/UserScript== /*jshint esversion: 6 */ /*jshint asi: true */ (function() { 'use strict'; const list = document.querySelectorAll('p.price:not(p.price-included-additional-services)') const product_code = document.querySelector("p.product-code").textContent.replace("Product code: ", "") const dissection = Number(product_code.slice(0,3)) const twelve_perc = [583,584,614,689,815,855,856,868,817,857,865,866,873,887,888,889,890,823,831,835,859,867,897,824,825,828,837,858,898,704,708,802,826,827,829,830,834,838,869,893,894,895,896,884,101,899] const zero_perc = [860,861,833,519] //I think 813 and 519 are Apple/Android mobiles if (document.querySelector('span.price__previous') === null) { // if reduced to clear, don't bother list.forEach(e => { // they shouldn't be different prices, but hey, this is cheap const price = Number(e.textContent.trim().replace("£", "")) let discount = 0 let disc_symb = " 🛇" if (twelve_perc.includes(dissection)) { discount = 0.12 disc_symb = "⭣" } else if (!zero_perc.includes(dissection)) { discount = 0.25 disc_symb = "⮇" } e.textContent = Intl.NumberFormat('en-GB', {style: 'currency', currency:'GBP'}).format(price * (1 - discount)) + disc_symb if (discount > 0) { e.style.color = 'green' e.textContent = e.textContent + " (was £" + price + ")" } else { e.style.color = 'red' } }) } })();