您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Filtering by max price & free status
当前为
// ==UserScript== // @name Wish.com - Price filter // @namespace http://tampermonkey.net/ // @version 1.9 // @description Filtering by max price & free status // @author [email protected], Shuunen // @match https://*.wish.com/* // @grant none // ==/UserScript== $(document).ready(function() { console.log('wish price filter : init'); // Returns a function, that, as long as it continues to be invoked, will not // be triggered. The function will be called after it stops being called for // N milliseconds. If `immediate` is passed, trigger the function on the // leading edge, instead of the trailing. function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } function showHideProducts() { // hide already rated products in order hsitory $('.edit-rating-button').parents('.transaction-expanded-row-item').hide(); console.log('wish price filter : showHideProducts'); var maxPrice = parseInt($("#wtc_max_price").val()) || 1000; var hideFree = $("#wtc_hide_free").val(); var items = $(".feed-actual-price"); $.each( items, function() { var priceOk = ($(this).text().replace(/\D/g,'') <= maxPrice); if(priceOk && hideFree && this.textContent.includes('Free')){ priceOk = false; } $(this).parent().parent().parent().parent().toggle(priceOk); }); } if ($("#nav-search").length > 0){ $('#mobile-app-buttons').hide(); $('#nav-search-input-wrapper').width(320); var html = '<div id="wish_tweaks_config" style="float:left;margin-top:10px;display:flex;justify-content:space-between;width:210px;align-items:center;font-weight: bold;font-size: 13px;font-family: sans-serif;color: white;background-color: steelblue;padding:6px 12px;border-radius: 5px;">'; html += 'Max Price : <input id="wtc_max_price" type="text" style="width: 30px; margin-left: 5px;">'; html += '<div style="margin-left: auto"></div>'; html += 'Hide free : <input id="wtc_hide_free" type="checkbox" checked style="margin: 0; height: 16px; width: 16px; margin-left: 5px;">'; html += '</div>'; $("#header-left").after(html); } var showHideProductsDebounced = debounce(showHideProducts, 500); // trigger twice by default showHideProductsDebounced(); setTimeout(showHideProductsDebounced, 1000); // when window is scrolled window.onscroll = showHideProductsDebounced; // when input value change $("#wtc_max_price").keydown(showHideProductsDebounced); });