您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Скрываем уже просмотренные товары на маркете!
当前为
// ==UserScript== // @name HideViewedMarket // @namespace https://greasyfork.org/ru/users/1142494-llimonix // @version 0.5 // @description Скрываем уже просмотренные товары на маркете! // @author llimonix // @match https://lzt.market/* // @icon https://i.imgur.com/SX9RWhl.png // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @license MIT // ==/UserScript== (function() { function handleClick(itemId, event) { let myListItem = GM_getValue('myListItem', []); if ($.inArray(itemId, myListItem) === -1) { itemId = itemId.replace('marketItem--','') myListItem.push(itemId); GM_setValue('myListItem', myListItem); } console.log(myListItem); }; // Функция, которая работает на странице товаров function mainMarket() { function check() { let myListItem = GM_getValue('myListItem', []); let marketItemCSS = [] $.each(myListItem, function(index, element) { marketItemCSS += `#marketItem--${element}, `; //$(`#marketItem--${element}`).hide(); // Старая логика работы /*$(".marketIndexItem").each(function(index, element) { let marketItemID = $(element).attr('id'); let itemId = marketItemID.replace("marketItem--", ""); if ($.inArray(itemId, myListItem) !== -1) { $(element).remove(); }*/ }); marketItemCSS = marketItemCSS.slice(0, -2); $(marketItemCSS).css ({ 'display': 'none' }); }; // Обработка клика на чекбокс function handleCheckboxClick() { if ($("#ctrl_v_by_me").is(":checked")) { GM_setValue('vbemy', 'checked'); } else { GM_setValue('vbemy', 'notchecked'); } location.reload(); } // Добавление кнопок let myListItemButton = (GM_getValue('myListItem', [])).length; $('.MarketSearchBarButtons').append(`<span class="button HideViewedMarketReset mn-15-0-0">Сбросить просмотренные товары (${myListItemButton})</span>`); // Обработка клика сброса $(".HideViewedMarketReset").click(function() { GM_deleteValue('myListItem'); location.reload(); }); function checboxAdd() { let checboxNotElement = $('#ctrl_v_by_me'); if (checboxNotElement.length == 0) { let checkboxsearchBarForm = $('#CategoryWrapper .searchBarForm--Filter .checkboxRow:first'); if (checkboxsearchBarForm.length > 0) { $('#CategoryWrapper .searchBarForm--Filter:first .checkboxRow:last').after(`<div class="checkboxRow"><input type="checkbox" name="v_by_me" value="1" id="ctrl_v_by_me"><label for="ctrl_v_by_me"> Был ранее просмотрен мною</label></div>`); } else { $('.HiddenFilters .searchBarForm--Filter').css({ 'visibility': 'visible', }); $('#CategoryWrapper .HiddenFilters:first').after(`<div class="checkboxRow"><input type="checkbox" name="v_by_me" value="1" id="ctrl_v_by_me"><label for="ctrl_v_by_me"> Был ранее просмотрен мною</label></div>`); } } if (GM_getValue('vbemy') === 'checked') { $("#ctrl_v_by_me").prop("checked", true); } $('.marketIndexItem').each(function() { let itemId = $(this).attr('id'); let hasClickHandler = $(this).data('hasClickHandler'); let isMiddleButtonClick = false; if (!hasClickHandler) { // Обработчик для обычного клика и клика правой кнопкой $(this).on('click auxclick', function(event) { if (event.button !== 1 || !isMiddleButtonClick) { handleClick(itemId, event); } }); // Обработчик для клика через колесико $(this).on('mousedown', function(event) { if (event.button === 1) { // Проверяем, что это клик через колесико event.preventDefault(); // Отменяем действие по умолчанию (прокрутку) isMiddleButtonClick = true; } }); $(this).on('mouseup', function(event) { if (event.button === 1) { isMiddleButtonClick = false; } }); // Устанавливаем флаг, что обработчики уже добавлены $(this).data('hasClickHandler', true); } }); requestAnimationFrame(checboxAdd); } checboxAdd(); $("#ctrl_v_by_me").on("change", handleCheckboxClick); if (GM_getValue('vbemy') === 'checked') { $("#ctrl_v_by_me").prop("checked", true); check(); } } // Определяет, находимся ли мы сейчас на странице просмотра всех товаров if ($('.MarketSearchBarButtons').length > 0) { mainMarket(); } })();