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.*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 根据当前访问的Amazon站点获取相应的链接前缀
function getAmazonURLPrefix() {
const hostname = window.location.hostname;
if (hostname.includes('amazon.com')) {
return 'https://www.amazon.com/dp/';
} else if (hostname.includes('amazon.ca')) {
return 'https://www.amazon.ca/dp/';
} else if (hostname.includes('amazon.co.uk')) {
return 'https://www.amazon.co.uk/dp/';
} else if (hostname.includes('amazon.de')) {
return 'https://www.amazon.de/dp/';
}
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 + asin;
window.location.href = url;
} else {
alert('无法识别的Amazon站点');
}
}
}
// 点击“打开批量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 + asinQuery;
window.location.href = url;
} else {
alert('无法识别的Amazon站点');
}
}
}
// 创建并添加按钮到页面上
createButton('打开ASIN', openASINHandler);
createButton('打开批量ASIN', openBatchASINHandler);
})();