🏠 Home 

Amazon - Offer page links

Add link to offer page in item descriptions

// ==UserScript==
// @name           Amazon - Offer page links
// @description    Add link to offer page in item descriptions
// @author         James Skinner <[email protected]> (http://github.com/spiralx)
// @namespace      http://spiralx.org/
// @version        1.2.0
// @iconURL        data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTJDBGvsAAAHvklEQVR4Xu1bPUwbSRROkQtg4/UP/sf2Yrz+Y0OMIUD4SezodDJFDiW6IEUiihSRComCjpImSoeEdNaBvQ7cWbm7+HQFDUpHR0fpjo7OHcopu77CvveWgUtgbO8S4zVSPumThT3z9s2bN++9mR1ufEMLsL6+zoxOTKR6HI4Vp8tVcLjdB991dhZdHk/VYrNV7S5X1WAyHcHvB87e3oLeaFyeSkwld3d3O4iI64n43buzDpdrp0OnO77Z0VFVS53BUOplWSEWi/FE5PXAwMDALGM2F2mDugw7dboqeEuB4zgbeUR7YmZmhgF3LtAG0Qx26fWl4dHRFHlceyGRSHh0DNO0Wa9FWE5SIBxuLyNMT0/bwE2vfPCnZEwmaXh4OEAerz2cbvceTdGrJD6TPF5bRHh+kaZgKzg5OTlB1NAGS0tLHXqGOaIpV4uQ/6smi+UQo3owEhFYv79gsVoP8Xta+3q0Ohxpooo28HPcc5pitdhjs+0/ePCAOms8zyf1BsMhrV8t9jjsh6S7NrA7nR9oitHoYdkdqAjrVnaQRj1QESoumiAjVLHKJN1bCyxTu41GiabYeXbDMoEiRlFZ6w8EVmkyajH1Y0qbKvGnZ894mkI09nq9K6RbQzx++nSCJqMW4/G4NoEQ3dnt9e5BvU5V7JQY3EanplTNElR8VFk0TicSc6Sbdnjx4gUP1VmSC4UWAsHgKsx4GgxTsDkcRZ/f/4Y0Uwyb00kdLI1DQ0PaG6DZgO0ydbA0fjPAdTcAFFOe2xDIYKnM3RkZWTH29KwajEbqYGm8NgZ49OjRBNQCi70+X9pqt++ZrNYjo8VCHZQatq0B5ufnGagUF2DAH2CgiuqFy7DtDPDkyRMPZoHLHoOpZVsZADY2y516fUsGfsq2MACWuZC7d2gKXjU1NwAOH###8aaIRtzUwNYWj8ePb3Z2FvFvWjsaNTcAzLzqQ1DYRFUZs3kHguQy1vLnd3TXpg7g79xZoClVi7e6uqp2t1sYSyQ8RAQV18IAeBqk6+5WfBp0q7NT4sJhRcpeCwM4XC5Vs9/PcYq3xD12O1UGjdoZwO0+oClEoxmqPtJNEfQMQ5VDoyYGAPdnGp0DfM7+QGCNdG2I169f22gyalETA4R5PkVTphYh2itWcnRyUtWJ0MDgYOsNoPZdAO72SNeGcLrdqmR7fL4F0rV1wFMfmjK1GIvFkqRrQ1hsNlVvmVwej+Ll1TR4WVaVAWCvr2iWotEoj7UCTUYtQoAtku6tw2AspsoAeOuDdK0LSK37tP71iIeusZERxR7WFHChkKo3QrBXkHier/s2NxaPp2l9lRCWzQER0xqkUilVkRqpNxqLY2NjF0pgTKlsX59wmXeDn9PV27tKRLYGsKFRve/HN0mwHIRQJLKIccHl9aZNVmtTzg+6ururLMu27iUJuF2epoiWhHqjdXcGxqemkl/rtvWoNhsgMT0T9VoDq8NxJadAXQZDaXx8PMmYzSXa7+eJ7j9w+7bizVbTkJiZ8UBwU6SkUhrN5qPTd4mD8fhsIy/rZhgpPDAwKyukBcwOB9+h0zXFCBAg9/HCFREtw+3zrdHaIhmTqRQZHBwmTbXDw4cPeVNPj+Lt8XlidoDagurCeA+hPxi8cOYIgy8+fvy4fW6KITC9Wex2xddcTBZLye52v5l/9aruERkawcOyZ1kHyt+9ly9ftu+t0Xv37w/jgafN6RQgQBVgiRTw02AyFaDcTbN+/+L3qZTq8vXu+PhzqCgXlhpctUGUt0d58c9kqvzXD3NifipZ+WOysbdUMr0eSQjtVbbb6BKiCpSF8JyUi+6JG75jacNbvcBMoCRu1dk3VNa5DjEbKoqZPunft/wi+brtUfk74ZEy/oOzgWb7q5IQhE8O/vZ9YQTxF2/9WqGSG7KJG2zxRFBw/yO4EvmpbVF5P22TtgdnUdfK7pfLo7I7w4iZwJszI2wNNK4XKjkOjOCVjQCfkpQNpyvvZ9r7qnodfPzZy58ZQFBYM8hGyPhPPAENsckei9nwaiU/ps29PIXAZSzlIsvSpv+ovBWVD2LQO+RxbPZVVU0kNpYy/Xtn1js1BLgUGKJu6mo1UFcxF10VN/2lM33BEPibKITX5L9hLHJjNYA11CG9jeTPhJ4y46+K2eAOWpc01QSfhMiEJITzMDHSF/rlomf3iMVMv+zJmCXIV+pRznLPLzyEEL4vSdlAWtqOz1Z2l678H53E/HhSfBuFWWUPL+iy4ZPKuRPXR/yTvz98oqP/688OM###ivk/3VAobvZJkIL2MF6IW3yysvv0q4InGvTTu8kJKRtaLuciOxCX6DkemQ0eYlvSVYYoBNdw7Yv5Jp0bokKoTM1ig0YISFhglbf4AuZhrDHKm/658m9Dc+V3Y/AJBPeUvSwbXIVILYhZbge86lDa/DKP04iZShSibzAAEjVlyLpCTLiSmkYuPjb60mhdmlKtoQ/WNVeoVeaiAcQt5e8kLoXy7w9hWQQEcdNHjQ9XQgjAZSFY+JiJtk+RJqfMXGQF1yFV6WYwA0siy62g95HHtif+yd8blnIhMAa3XytzKKHcF2SgLJRJxF8vyFH819EJTE1QQK1BTi5gQIRgV8RyW9zwwOYrUIS8vY+/AdewLfbBvkTMN3zDleDGjf8AHb5ZjjtCjt0AAAAASUVORK5CYII=
// @match          https://www.amazon.co.uk/*dp/*
// @match          https://www.amazon.co.uk/d/*
// @match          https://www.amazon.com/*dp/*
// @match          https://www.amazon.com/d/*
// @grant          none
// @run-at         document-end
// @require        https://unpkg.com/jquery@3/dist/jquery.min.js
// ==/UserScript==
/* jshint asi: true, esnext: true, -W097, eqnull: true */
/* globals jQuery, $, DetailPage, ue_pti, ue_pty */
/**
= Changelog =
=== 1.2.0 (13.07.2018) ===
* Remove URI.js
=== 1.1.0 (04.07.2018) ===
* Include Amazon.com in matching pages
* Updated jQuery to v3 on unpkg.com
* Fixed unknown global variables
=== 1.0.1 (23.4.2017) ===
* Added `/d/` match
*/
(function($) {
'use strict'
const def = (value, default_value = '') => value != null ? value : default_value
// --------------------------------------------------------------------
function getASIN(parent = false) {
try {
const state = DetailPage.StateController.getState()
return state && state[ parent ? 'parent_asin' : 'current_asin' ] || ue_pti
}
catch (ex) {
const m = location.pathname.match(/\/([A-Z]\d{2}[A-Z0-9]{7})(?=\/|$)/)
if (m && m[1]) return m[1]
}
}
// --------------------------------------------------------------------
function featureBlock(name, content) {
if (content instanceof Node) {
content = content.outerHTML
}
return $(`
<div class="feature" data-feature-name="${name}">
<div class="a-section a-spacing-medium">
${String(content)}
</div>
</div>
`)
}
// --------------------------------------------------------------------
const page_type = def(ue_pty, 'UNKNOWN')
// console.info(`page_type = "${page_type}"`)
if (page_type !== 'Detail') return
const asin = getASIN()
if (asin) {
// console.info(`Amazon(asin: ${asin}, url: "/gp/offer-listing/${asin}/")`)
featureBlock('offerList', `<span class="a-size-large"><a href="/gp/offer-listing/${asin}/">♦ See all offers for this product ♦</a></span>`)
.insertAfter('#twister_feature_div')
} else {
console.warn(`No ASIN found!`)
}
})(jQuery)
jQuery.noConflict(true)