Keepa EU Graphs.
The "Keepa Formatted Version" file is just the same but stripped of comments. It's so I can send it to Pete easily!
/*
* David Wood dave@drw.me.uk
* For Amazon.
* Adds a links to each marketplace above the Keepa graph.
* Use https://html-cleaner.com/js/ and prepend this to turn it into a bookmarklet; javascript:
*/
javascript: (function() {
var callback = function() {
var $doc = jQuery(document);
$doc.ready(function() {
var $resultElements = jQuery(".s-result-item");
// Make links on a results page
if ($resultElements.length) {
$resultElements.each(function(index) {
var $this = jQuery(this);
var asin = $this.data("asin");
var linkContainer = jQuery('<div id="other-marketplace-links"></div>');
$this.find(".sg-col-inner").append(linkContainer);
renderLink(linkContainer, asin, 0, 3, "de", "DE", "b");
renderLink(linkContainer, asin, 6, 3, "fr", "FR", "b");
renderLink(linkContainer, asin, 6, 3, "it", "IT", "b");
renderLink(linkContainer, asin, 6, 3, "es", "ES", "b");
renderLink(linkContainer, asin, 6, 3, "com", "USA", "b");
renderLink(linkContainer, asin, 6, 3, "co.uk", "UK", "b");
});
} else { // Make links on a single listing page
// We used to extract the ASIN from the Keep ID. Leaving this in case it's useful again one day.
var keepaElementIdPrefix = "keepaContainer";
var keepaElement = jQuery("[id^=" + keepaElementIdPrefix + "]");
var canonicalLink = $doc.find("link[rel='canonical']").attr("href");
var asin;
if (canonicalLink) {
asin = canonicalLink.substr(canonicalLink.lastIndexOf('/') + 1);
} else {
detailPageLink = $doc.find('#olpDetailPageLink').attr("href");
asin = detailPageLink.substring(0, detailPageLink.lastIndexOf('/'));
asin = asin.substring(asin.lastIndexOf('/') + 1, asin.length);
}
var linkContainer = jQuery('<div id="other-marketplace-links"></div>');
keepaElement.before(linkContainer);
renderLink(linkContainer, asin, 50, 4, "de", "DE", "h1");
renderLink(linkContainer, asin, 25, 4, "fr", "FR", "h1");
renderLink(linkContainer, asin, 25, 4, "it", "IT", "h1");
renderLink(linkContainer, asin, 25, 4, "es", "ES", "h1");
renderLink(linkContainer, asin, 25, 4, "com", "USA", "h1");
renderLink(linkContainer, asin, 25, 4, "co.uk", "UK", "h1");
}
});
};
var renderLink = function(linkContainer, asin, margin, spacing, domain, countryName, markupTagName) {
linkContainer.append(
jQuery('<div style="display: inline-block; margin-left:' + margin + 'px">'
+ '<a href="https://www.amazon.' + domain + '/dp/' + asin + '">'
+ '<' + markupTagName+ '>' + countryName + '</' + markupTagName + '></a></div>'
+ '<div style="display: inline-block; margin-left: ' + spacing + 'px">'
+ '<a href="https://www.amazon.' + domain + '/gp/offer-listing/' + asin + '/ref=dp_olp_new_mbc?ie=UTF8&condition=new">'
+ '<span>(Sellers)</span></a></div>'
));
};
if (window.jQuery === undefined) {
var injected = document.createElement('script');
injected.src = "//ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js";
injected.onload = callback;
document.getElementsByTagName('head')[0].appendChild(injected);
} else {
callback();
}
})();