// ==UserScript== // @name Amazon short URL // @namespace graphen // @description Replace article URL with short Amazon permalink // @include /^https?:\/\/www\.amazon\.(cn|in|co\.jp|sg|fr|de|it|nl|es|co\.uk|ca|com(\.(mx|au|br))?)\/.*(dp|gp\/product|exec\/obidos\/ASIN|o\/ASIN)\/.*$/ // @icon https://www.amazon.com/favicon.ico // @noframes // @grant none // @version 2.5 // @downloadURL none // ==/UserScript== /* jshint esversion: 6 */ (function (doc) { 'use strict'; var asinId = doc.getElementById('ASIN'); if (asinId) { asinId = asinId.value; history.replaceState(null, 'Amazon URL Cleaner', '/dp/' + asinId + '/'); console.log("URL replaced by Amazon URL Cleaner. ASIN: " + asinId); } else { // Get ASIN from canonical link var links = doc.getElementsByTagName('link'); var i; for (i=0; i < links.length; i++) { if (links[i].rel === 'canonical') { var canonical = links[i].href; var asin = canonical.replace(/https?:\/\/www\.amazon\..*\/dp\/([\w]+)$/, '$1'); if (asin.length === 10) { history.replaceState(null, 'Amazon URL Cleaner', '/dp/' + asin + '/'); console.log("URL replaced by Amazon URL Cleaner. ASIN: " + asin); } } } } }) (document);