NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Amazon CamelCamelCamel Graph // @version 1.0.6 // @description Add CamelCamelCamel graph, link to Amazon product pages. // @author Andrew Metzger // @namespace http://static.nerdoncloud.com/userscripts/ // @include /^https?://www\.amazon\.tld/*$/ // @include http://*.camelcamelcamel.com/* // @include http://camelcamelcamel.com/* // @require https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js // @require https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js // ==/UserScript== var width = 400; var height = 250; var chart = "amazon-new"; // Possible values are "amazon", "amazon-new", "new", "used", "new-used", "amazon-new-used" var arr = document.domain.split("."); var country = arr[arr.length - 1]; if (country == "com") { country = "us"; } var element = $(':input[id="ASIN"]'); var asin = $.trim(element.attr("value")); if (asin === "") { element = $(':input[id="ASIN"]'); asin = $.trim(element.attr("value")); } var link2 = "<a target='blank' href='http://" + country + ".camelcamelcamel.com/product/" + asin + "'><img src='http://charts.camelcamelcamel.com/" + country + "/" + asin + "/" + chart + ".png?force=1&zero=0&w=" + width + "&h=" + height + "&desired=false&legend=1&ilt=1&tp=all&fo=0' /></a>"; var camelurl = 'http://' + country + '.camelcamelcamel.com/product/' + asin; GM_xmlhttpRequest({ method: 'GET', url: camelurl, onload: function (response) { var parser = new DOMParser(); var responseDoc = parser.parseFromString(response.responseText, "text/html"); var chartpost = 0; if (chart == "amazon" || chart == "amazon-new" || chart == "amazon-new-used" || chart == "amazon-used") { if (!responseDoc.getElementById('price_type_1').disabled) { $("#averageCustomerReviews_feature_div").append("<div id='camelcamelcamel' style='margin-top: 10px; margin-left: -10px'>" + link2 + "</div>"); chartpost = 1; } } if (chart == "new" || chart == "amazon-new" || chart == "amazon-new-used" || chart == "new-used") { if (!responseDoc.getElementById('price_type_2').disabled && chartpost === 0) { $("#averageCustomerReviews_feature_div").append("<div id='camelcamelcamel' style='margin-top: 10px; margin-left: -10px'>" + link2 + "</div>"); chartpost = 1; } } if (chart == "used" || chart == "amazon-used" || chart == "amazon-new-used" || chart == "new-used") { if (!responseDoc.getElementById('price_type_2').disabled && chartpost === 0) { $("#averageCustomerReviews_feature_div").append("<div id='camelcamelcamel' style='margin-top: 10px; margin-left: -10px'>" + link2 + "</div>"); } } } }); function thisCodeProduct() { var url = unescape(location.href); var pattern = "http://([a-z]{0,2}).?camelcamelcamel.com/(.*)/product/B([A-Z0-9]{9}).*"; var exp = new RegExp(pattern, "gi"); return url.replace(exp, "$3"); } var url = unescape(location.href); var pattern = "http://([a-z]{0,2}).?camelcamelcamel.com/.*"; var exp = new RegExp(pattern, "gi"); var code = url.replace(exp, "$1"); if (code === '') code = 'com'; else if (code == 'uk') code = 'co.uk'; $(document).ready(function () { var links = document.evaluate("//a[contains(@href, 'camelcamelcamel.com')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < links.snapshotLength; i++) { var link = links.snapshotItem(i); if (link.title == 'View the product page at Amazon') { link.removeAttribute('onclick'); link.href = 'https://www.amazon.' + code + '/dp/B' + thisCodeProduct() + '/'; } } }); (function (doc) { // ASIN.0 in kindle store var asin = doc.getElementById("ASIN") || doc.getElementsByName("ASIN.0")[0]; if (asin) { asin = asin.value; history.replaceState(null, "", "/dp/" + asin + "/"); } })(document);