Greasy Fork is available in English.
Copie les dernières commandes des sites SFBA dans le presse papier et met en forme en bbcode
当前为
// ==UserScript==
// @name SFBA report
// @namespace https://trade.aliexpress.com/
// @include https://trade.aliexpress.com/orderList.htm*
// @include https://www.banggood.com/index.php?com=account&t=ordersList*
// @include https://www.amazon.fr/gp/your-account/order-history*
// @include https://user.gearbest.com/my-orders.html*
// @version 0.4
// @description Copie les dernières commandes des sites SFBA dans le presse papier et met en forme en bbcode
// @grant GM_setClipboard
// @grant GM_registerMenuCommand
// ==/UserScript==
GM_registerMenuCommand('Copier les produits', checkCurrentSite);
function checkCurrentSite()
{
if(window.location.href.indexOf("banggood") > -1)
{
getBGOrders();
}
else if(window.location.href.indexOf("aliexpress") > -1)
{
getAEOrders();
}
else if (window.location.href.indexOf("amazon") > -1)
{
getAZOrders();
}
else if (window.location.href.indexOf("gearbest") > -1)
{
getGBOrders();
}
}
function getGBOrders()
{
var post = "";
var tags = document.getElementsByTagName('dl');
for (var i = 0; i < tags.length; i++)
{
if (tags[i].className == "clearfix")
{
var title = tags[i].children[0].children[1].children[0].children[0].innerText;
var link = tags[i].children[0].children[0].children[0].href;
var img = tags[i].children[0].children[0].children[0].children[0].src;
var price = tags[i].children[0].children[3].children[0].children[0].children[1].outerText;
post += formatPost(title, link, img, price);
}
}
GM_setClipboard(post);
}
function getBGOrders()
{
var priceList = [];
var post = "";
var priceTags = document.getElementsByTagName('td');
for (var j = 0; j < priceTags.length; j++)
{
if (priceTags[j].className == "price")
{
priceList.push(priceTags[j].innerText);
}
}
var tags = document.getElementsByTagName('div');
var id = 0;
for (var i = 0; i < tags.length; i++)
{
if (tags[i].className == "picture_box")
{
var title = tags[i].children[0].children[0].children[0].title;
var link = tags[i].children[0].children[0].children[0].href;
var img = tags[i].children[0].children[0].children[0].children[0].src;
var price = priceList[id];
post += formatPost(title, link, img, price);
id++;
}
}
GM_setClipboard(post);
}
function getAZOrders()
{
post = "";
var priceList = [];
var priceTags = document.getElementsByTagName('div');
for (var j = 0; j < priceTags.length; j++)
{
if (priceTags[j].className == "a-fixed-left-grid-col a-col-right")
{
if (priceTags[j].children[3].children[0].innerText !== "")
{
priceList.push(priceTags[j].children[3].children[0].innerText);
}
else if (priceTags[j].children[2].children[0].innerText !== "")
{
priceList.push(priceTags[j].children[2].children[0].innerText);
}
}
}
var tags = document.getElementsByTagName('div');
var id = 0;
for (var i = 0; i < tags.length; i++)
{
if (tags[i].className == "item-view-left-col-inner")
{
var img = tags[i].children[0].children[0].src;
var link = tags[i].children[0].href;
var title = tags[i].children[0].children[0].title;
var price = priceList[id];
post += formatPost(title, link, img, price);
id++;
}
}
GM_setClipboard(post);
}
function getAEOrders()
{
var post = "";
var tags = document.getElementsByTagName('td');
for (var i = 0; i < tags.length; i++)
{
if (tags[i].hasAttribute("class"))
{
if (tags[i].className == "product-sets")
{
var img = tags[i].children[0].children[0].children[0].src;
var link = tags[i].children[1].children[0].children[0].href;
var title = tags[i].children[1].children[0].children[0].title;
var price = tags[i].children[1].children[2].innerText;
post += formatPost(title, link, convertToLargePicture(img), price);
}
}
}
GM_setClipboard(post);
}
function convertToLargePicture(picture)
{
// Picture url format is https://ae01.alicdn.com/kf/blablabla.jpg_50x50.jpg
return picture.replace("50x50", "100x100");
}
function truncate(str, n)
{
var isTooLong = str.length > n,
s_ = isTooLong ? str.substr(0,n-1) : str;
s_ = isTooLong ? s_.substr(0,s_.lastIndexOf(' ')) : s_;
return isTooLong ? s_ + '...' : s_;
}
function formatPost(title, link, img, price)
{
var post = "";
post += "[img]" + img + "[/img]\n";
post += "[b][url=" + link + "]" + truncate(title,50) + "[/url][/b]\n";
post += price + "\n";
post += "Mon avis: \n\n";
return post;
}