🏠 返回首頁 

JD overseas price

Show the price of overseas.jd.com in jd.com


Install this script?
// ==UserScript==
// @name        JD overseas price
// @description Show the price of overseas.jd.com in jd.com
// @version     1.0
// @author      Damon Zhou
// @include     http://*.jd.com/*
// @grant       GM_xmlhttpRequest
// @require     http://code.jquery.com/jquery-2.1.4.min.js
// @namespace https://greasyfork.org/users/13165
// ==/UserScript==
var productPage = {FN_SetAllPrice: function(price) {
return parseFloat(price.USD.jdPrice.replace(/[^\d.]/g, ""));
}};
var currency;
GM_xmlhttpRequest({
synchronous: true,
method: "GET",
url: "http://api.fixer.io/latest?base=USD&symbols=CNY",
onload: function(response) {
currency = JSON.parse(response.responseText).rates.CNY;
}
});
$("li.gl-item, li[sku], li.item-book").each(function() {
var $oldPriceDiv = $(this).find("div.p-price");
var $strong = $oldPriceDiv.find("strong");
var $newPriceDiv = $("<div></div>").attr("class", "p-price");
$oldPriceDiv.after($newPriceDiv);
var price = parseFloat($strong.text().replace(/[^\d.]/g, ""));
var id = $(this).children("div").attr("data-sku") || $strong.attr("class").replace("J_", "");
GM_xmlhttpRequest({
method: "GET",
url: "http://overseas.jd.com/GetCurrency/" + id + "?callback=productPage.FN_SetAllPrice",
onload: function(response) {
var usd = eval(response.responseText);
if (usd) {
var cny = (usd * currency).toFixed(2);
var diff = Math.abs(cny - price).toFixed(2);
var diffpp = ((diff / price) * 100).toFixed();
var symbol = cny >= price ? "↑" : "↓";
$newPriceDiv.append("<span>¥" + cny + "</span>").append("<span style=\"margin-left: 20px; margin-right: 20px;\">¥" + diff + symbol + "</span>").append("<span>" + diffpp + "%" + symbol + "</span>");
} else {
$newPriceDiv.append("<span>No Price</span>");
}
}
});
});