Greasy Fork

Greasy Fork is available in English.

ASIN链接生成器

生成ASIN对应的链接并跳转到Amazon网站

当前为 2023-06-14 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         ASIN链接生成器
// @namespace    ASIN Link Generator
// @version      1.0
// @description  生成ASIN对应的链接并跳转到Amazon网站
// @match        *://www.amazon.*/*
// ==/UserScript==

(function() {
    'use strict';

    // 获取当前Amazon站点的链接后缀
    function getSiteSuffix() {
        const siteUrl = window.location.hostname;
        const suffix = siteUrl.match(/\.([a-z]{2,3})$/);
        return suffix ? suffix[1] : '';
    }

    // 创建一个按钮元素并添加到页面上
    function createButton(text, clickHandler) {
        const button = document.createElement('button');
        button.style.position = 'fixed';
        button.style.left = '20px';
        button.style.top = text === '打开ASIN' ? '50%' : '55%';
        button.style.transform = 'translateY(-50%)';
        button.textContent = text;
        button.addEventListener('click', clickHandler);
        document.body.appendChild(button);
    }

    // 点击“打开ASIN”按钮的处理函数
    function openASINHandler() {
        const asin = prompt('请输入ASIN');
        if (asin) {
            const siteSuffix = getSiteSuffix();
            const url = `https://www.amazon.${siteSuffix}/dp/${asin}`;
            window.location.href = url;
        }
    }

    // 点击“打开批量ASIN”按钮的处理函数
    function openBatchASINHandler() {
        const asins = prompt('请输入批量ASIN,以换行符分隔');
        if (asins) {
            const asinArray = asins.split('\n');
            const asinQuery = asinArray.join('%7C');
            const siteSuffix = getSiteSuffix();
            const url = `https://www.amazon.${siteSuffix}/s?rh=p_78%3A${asinQuery}`;
            window.location.href = url;
        }
    }

    // 创建并添加按钮到页面上
    createButton('打开ASIN', openASINHandler);
    createButton('打开批量ASIN', openBatchASINHandler);
})();