您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace article URL with short Amazon permalink
当前为
- // ==UserScript==
- // @name Amazon short URL
- // @namespace graphen
- // @version 4.0.8
- // @description Replace article URL with short Amazon permalink
- // @author Graphen
- // @include /^https?:\/\/(www|smile)\.amazon\.(cn|in|sg|se|ae|fr|de|pl|it|nl|es|ca|com(\.(mx|au|br|tr|be))?|co\.(uk|jp))\/.*(dp|gp\/(product|video)|exec\/obidos\/ASIN|o\/ASIN)\/.*$/
- // @icon https://www.amazon.com/favicon.ico
- // @noframes
- // @grant none
- // @license MIT
- // ==/UserScript==
- /* jshint esversion: 6 */
- (function (doc) {
- 'use strict';
- function getAsin(){
- let asinId = doc.getElementById('ASIN');
- if (asinId) {
- return asinId.value;
- }
- else {
- // Get ASIN from canonical link
- let links = doc.getElementsByTagName('link');
- let i;
- for (i=0; i < links.length; i++) {
- if (links[i].rel === 'canonical') {
- let canonical = links[i].href;
- let asin = canonical.replace(/https?:\/\/(www|smile)\.amazon\..*\/dp\/([\w]+)$/, '$2');
- if (asin.length === 10) {
- return asin;
- }
- }
- }
- }
- }
- function replaceUrl() {
- let asin = getAsin();
- if (asin){
- history.replaceState(null, 'Amazon URL Cleaner', '/dp/' + asin + '/');
- //console.log("URL replaced by Amazon URL Cleaner. ASIN: " + asin);
- }
- }
- replaceUrl();
- // Execute again when item variation is detected
- var buyboxParent = doc.getElementById('desktop_buybox');
- if (buyboxParent) {
- var MO = new MutationObserver(function(mutations) {
- mutations.forEach(function(mutation) {
- mutation.addedNodes.forEach(function(nodeElement) {
- if (nodeElement.id === "buybox") {
- replaceUrl();
- }
- });
- });
- });
- MO.observe(buyboxParent, { childList: true, subtree: true });
- }
- }) (document);