Greasy Fork is available in English.
生成ASIN对应的链接并跳转到对应的Amazon站点
当前为
// ==UserScript==
// @name ASIN链接生成器
// @namespace ASIN Link Generator
// @version 1.0
// @description 生成ASIN对应的链接并跳转到对应的Amazon站点
// @match https://www.amazon.*/*
// ==/UserScript==
(function() {
'use strict';
// 获取当前Amazon站点的链接前缀
function getAmazonURLPrefix() {
const amazonURL = window.location.href;
const domain = amazonURL.split('/')[2];
if (domain === 'www.amazon.com') {
return 'https://www.amazon.com';
} else if (domain === 'www.amazon.ca') {
return 'https://www.amazon.ca';
} else if (domain === 'www.amazon.co.uk') {
return 'https://www.amazon.co.uk';
} else if (domain === 'www.amazon.de') {
return 'https://www.amazon.de';
} else {
return null;
}
}
// 创建一个按钮元素并添加到页面上
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 urlPrefix = getAmazonURLPrefix();
if (urlPrefix) {
const url = urlPrefix + '/dp/' + asin;
window.location.href = url;
}
}
}
// 点击“打开批量ASIN”按钮的处理函数
function openBatchASINHandler() {
const asins = prompt('请输入批量ASIN,以换行符分隔');
if (asins) {
const urlPrefix = getAmazonURLPrefix();
if (urlPrefix) {
const asinArray = asins.split('\n');
const asinQuery = asinArray.join('%7C');
const url = urlPrefix + '/s?rh=p_78%3A' + asinQuery;
window.location.href = url;
}
}
}
// 创建并添加按钮到页面上
createButton('打开ASIN', openASINHandler);
createButton('打开批量ASIN', openBatchASINHandler);
})();