您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removes specified query parameters from Etsy URLs
// ==UserScript== // @name Etsy URL Cleaner // @namespace https://greasyfork.org/en/scripts/456795-etsy-url-cleaner // @version 1.0.4 // @description Removes specified query parameters from Etsy URLs // @match https://www.etsy.com/listing/* // @match https://www.etsy.com/shop/* // @match https://i.etsystatic.com/* // @grant none // @icon https://www.etsy.com/favicon.ico // @license MIT // ==/UserScript== (function() { 'use strict'; // Danh sách các query parameters cần xóa // Bạn có thể dễ dàng thêm mới bằng cách thêm vào mảng này const QUERY_PARAMS_TO_REMOVE = [ '?ref', '?click_key', '?ga_order', '?ref=simple-shop-header', '?ls' ]; /** * Xóa các query parameters không mong muốn khỏi URL * @param {string} url - URL cần xử lý * @returns {string} URL đã được làm sạch */ function cleanQueryParams(url) { let maxIndex = -1; // Tìm vị trí cuối cùng của bất kỳ parameter nào trong danh sách QUERY_PARAMS_TO_REMOVE.forEach(param => { const index = url.indexOf(param); if (index !== -1 && index > maxIndex) { maxIndex = index; } }); // Nếu tìm thấy parameter, cắt bỏ từ vị trí đó trở đi if (maxIndex !== -1) { return url.substring(0, maxIndex); } return url; } /** * Xử lý URL hình ảnh để chuyển sang chất lượng đầy đủ * @param {string} url - URL cần xử lý * @returns {string} URL đã được xử lý hoặc null nếu không cần thay đổi */ function processImageUrl(url) { if (url.indexOf('/il_fullxfull') !== -1) { return null; } if (url.indexOf('/il_') !== -1) { const ilIndex = url.indexOf('/il_'); const dotIndex = url.indexOf('.', ilIndex); return url.substring(0, ilIndex) + '/il_fullxfull' + url.substring(dotIndex); } return null; } // Main execution let currentUrl = window.location.href; // Xử lý query parameters const cleanedUrl = cleanQueryParams(currentUrl); if (cleanedUrl !== currentUrl) { window.history.pushState({}, '', cleanedUrl); currentUrl = cleanedUrl; } // Xử lý URL hình ảnh const processedImageUrl = processImageUrl(currentUrl); if (processedImageUrl) { window.location.href = processedImageUrl; } })();