Greasy Fork

Greasy Fork is available in English.

Amazon ASIN Link Generator

Generate Amazon ASIN links from input and open the product pages

目前为 2023-06-14 提交的版本。查看 最新版本

// ==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
// ==/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);
})();