- Дней с нами
- 2.539
- Розыгрыши
- 0
- Сообщения
- 771
- Репутация
- 77
- Реакции
- 3.120
Скрипт переключения валюты в КОРЗИНЕ. Появляются две кнопки - USD и RUB - переключают на соответствующую валюту. Также в скрипте осталось изменение страны. Если указать стану пустую строку "", то страна меняться не будет. Если указать страну, например KZ, то страна будет меняться на указанную.
Код:
// ==UserScript==
// @name Aliexpress in Cart Currency Changer
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Изменяет валюту в корзине
// @author Andronio
// @match https://shoppingcart.aliexpress.ru/shopcart/shopcartDetail.htm*
// @match https://shoppingcart.aliexpress.com/shopcart/shopcartDetail.htm*
// @grant none
// ==/UserScript==
let myCountry = "";
(function repeat() {
'use strict';
let cart = document.querySelector(".captain h2");
if (!cart) return setTimeout(repeat, 200);
let btnBox = document.createElement("div");
btnBox.id = "btn-box";
btnBox.style.display = "inline-block";
cart.style.display = "inline-block";
cart.after(btnBox);
btnBox.innerHTML = `<div class="currency-button" data-curr="USD"><span class="css_flag css_us" style="display:inline"><span class="shipping-text" style="display:inline">USD</span></span></div>
<div class="currency-button" data-curr="RUB"><span class="css_flag css_ru" style="display:inline"><span class="shipping-text" style="display:inline">RUB</span></span></div>`;
let style = document.createElement("style");
style.innerHTML = `.currency-button {
display: inline-block;
padding: 5px 10px;
margin-left: 20px;
border: 2px solid black;
border-radius: 0.5em;
cursor:pointer;
}
.no-modify-btn {background-color: OrangeRed;}
.yes-modify-btn {background-color: Lime;}
`;
document.head.append(style);
btnBox.addEventListener("click", btnClickHandler);
})();
function btnClickHandler(event) {
'use strict';
let btn = event.target.closest(".currency-button");
if (!btn) return;
let currency = btn.dataset.curr;
let cookies = document.cookie.split('; ');
let isNeedModif = false;
let str;
for (let i = 0; i < cookies.length; i++) {
if (cookies[i].startsWith("aep_usuc_f=")) { // Если нашел нужную куку
let cookie = cookies[i].slice(11).split('&'); // Убираем aep_usuc_f= и разделяем
cookie = cookie.map(elem => { // Смотрим, что в куке
if (elem.startsWith("c_tp=")) {
if (elem.slice(5) == currency)
return elem;
else {
isNeedModif = true;
return "c_tp=" + currency;
}
} else if (elem.startsWith("region=")) {
let currCountry = elem.slice(7);
if (myCountry == "")
return elem;
else if (currCountry == myCountry)
return elem
else {
isNeedModif = true;
return "region=" + myCountry;
}
} else return elem;
});
str = cookie.join("&");
break;
}
}
if (isNeedModif) {
if (window.location.hostname.includes("aliexpress.ru")) {
let str2 = `aep_usuc_f=${str}; path=/; expires=Tue, 19 Jan 2088 03:14:07 GMT; domain=.aliexpress.ru`;
document.cookie = str2;
window.location.reload();
} else if (window.location.hostname.includes("aliexpress.com")) {
let str2 = `aep_usuc_f=${str}; path=/; expires=Tue, 19 Jan 2088 03:14:07 GMT; domain=.aliexpress.com`;
document.cookie = str2;
window.location.reload();
} else {alert("Ошибка в скрипте")};
window.mybtn = btn;
window.mybtn.classList.add("yes-modify-btn");
setTimeout(() => window.mybtn.classList.remove("yes-modify-btn"), 300);
window.location.reload();
} else {
window.mybtn = btn;
window.mybtn.classList.add("no-modify-btn");
setTimeout(() => window.mybtn.classList.remove("no-modify-btn"), 300);
}
}