// ==UserScript== // @name Amazon ASIN Link Generator // @namespace your-namespace // @version 1.0 // @description Generate Amazon ASIN links from input and open the product pages // @match *://*.amazon.com/* // @match *://*.amazon.ca/* // @match *://*.amazon.co.uk/* // @match *://*.amazon.de/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; function createButton(text, style) { const button = document.createElement('button'); button.textContent = text; button.style.cssText = style; return button; } function openASINPage() { const asin = prompt('请输入ASIN:'); if (asin) { let baseUrl = ''; switch (window.location.hostname) { case 'www.amazon.com': baseUrl = 'https://www.amazon.com/dp/'; break; case 'www.amazon.ca': baseUrl = 'https://www.amazon.ca/dp/'; break; case 'www.amazon.co.uk': baseUrl = 'https://www.amazon.co.uk/dp/'; break; case 'www.amazon.de': baseUrl = 'https://www.amazon.de/dp/'; break; default: alert('不支持的Amazon站点。'); return; } const url = baseUrl + asin; window.open(url, '_blank'); } } function openBulkASINPage() { const asins = prompt('请输入ASIN(使用换行符分隔):'); if (asins) { let baseUrl = ''; switch (window.location.hostname) { case 'www.amazon.com': baseUrl = 'https://www.amazon.com/s?rh=p_78%3A'; break; case 'www.amazon.ca': baseUrl = 'https://www.amazon.ca/s?rh=p_78%3A'; break; case 'www.amazon.co.uk': baseUrl = 'https://www.amazon.co.uk/s?rh=p_78%3A'; break; case 'www.amazon.de': baseUrl = 'https://www.amazon.de/s?rh=p_78%3A'; break; default: alert('不支持的Amazon站点。'); return; } const asinList = asins.replace(/\n/g, '%7C'); const url = baseUrl + asinList; window.open(url, '_blank'); } } function addButton(text, style, onClick) { const container = document.createElement('div'); container.style.position = 'fixed'; container.style.left = '20px'; container.style.top = '50%'; container.style.transform = 'translateY(-50%)'; container.style.zIndex = '9999'; const button = createButton(text, style); button.addEventListener('click', onClick); container.appendChild(button); document.body.appendChild(container); } addButton('打开ASIN详情页', 'font-size: 16px; padding: 10px 20px; margin-bottom: 10px;', openASINPage); addButton('打开批量ASIN', 'font-size: 16px; padding: 10px 20px;', openBulkASINPage); })();