您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds prices in USD to Farmatodo and a dark theme.
// ==UserScript== // @name Farmatodo Enhancer // @namespace https://github.com/squall831/Farmatodo-Enhancer // @version 0.1.3 // @description:en Adds prices in USD to Farmatodo and a dark theme. // @description:es Añade precios en dólares para Farmatodo y un tema oscuro. // @icon https://www.farmatodo.com.ve/assets/icons/favicon-96x96.png // @match https://www.farmatodo.com.ve/* // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_addStyle // @run-at document-idle // @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js // @author squall831 // @license GPL // @description Adds prices in USD to Farmatodo and a dark theme. // ==/UserScript== var dolarBCV = GM_getValue('dolarBCV', false); // Currency conversion last update var dolarBCV_LU = GM_getValue('dolarBCV_LU', false); // Older than half a day var older = new Date().getTime() - (0.5 * 24 * 60 * 60 * 1000); if(!dolarBCV || !dolarBCV_LU || older > dolarBCV_LU){ console.log('%c[Farmatodo Enhancer] Actualizando tasa de cambio ', 'background: #222; color: #ffffff;'); GM_xmlhttpRequest({ method: "GET", //url: "https://s3.amazonaws.com/dolartoday/data.json", url: "http://www.bcv.org.ve/estadisticas/tipo-cambio-de-referencia-smc", synchronous: true, onload: function(response) { //var USDinit = response.responseText.search("sicad2")+9 //var USDend = response.responseText.search("sicad2")+13 //var USD = response.responseText.substring(USDinit, USDend); var USDinit = response.responseText.search("USD")+120 var USDend = response.responseText.search("USD")+126 var USD = response.responseText.substring(USDinit, USDend); USD = USD.replace(/,/g, '.'); USD = Number(USD); if(!isNaN(USD)){ console.log('%c[Farmatodo Enhancer] Tasa actualizada a: '+USD, 'background: #222; color: #ffffff;'); GM_setValue('dolarBCV', USD); GM_setValue('dolarBCV_LU', new Date().getTime()); } } }); } console.log('%c[Farmatodo Enhancer] Utilizando la tasa actual: '+dolarBCV, 'background: #222; color: #ffffff;'); function updatePrices(recurrent){ $('.text-price').each(function(){ var price = $(this).text(); if (price != undefined && $( this ).find('span').length == 0) { var priceInit = price.search("Bs.")+3; var base_price = price.slice(priceInit); base_price = base_price.replace(" ", ""); var price_usd = (parseFloat((base_price) / dolarBCV).toFixed(2)); var USDtag = document.createElement("span"); USDtag.classList.add("text-USDprice"); USDtag.innerHTML = " $" + price_usd; $(this).append( USDtag ); } }); $('.p-blue').each(function(){ var price = $(this).text(); if (price != undefined && $( this ).find('p').length == 0) { var priceInit = price.search("Bs.")+3; var base_price = price.slice(priceInit); base_price = base_price.replace(" ", ""); var price_usd = (parseFloat((base_price) / dolarBCV).toFixed(2)); var USDtag = document.createElement("p"); USDtag.classList.add("text-USDprice"); USDtag.innerHTML = "$" + price_usd; $(this).append( USDtag ); } }) if (window.location.href=='https://www.farmatodo.com.ve/carrito') { if (document.getElementsByClassName('lds-roller lds-roller-ftd-blue')[0] == undefined) { if (document.querySelector("#app-component-router-outlet > div > div > app-cart > div > article > section > aside > app-billing-summary > section > app-overlay").innerHTML == '\x3C!---->') { document.getElementsByClassName("summary-item sub-total")[0].getElementsByClassName("value")[0].classList.add("text-price"); document.getElementsByClassName("summary-item delivery")[0].getElementsByClassName("value")[0].classList.add("text-price"); document.getElementsByClassName("summary-item total")[0].getElementsByClassName("value")[0].classList.add("text-price"); }; }; }; }; //Function addRule to test CSS rules. // var addRule = (function (style) { // var sheet = document.head.appendChild(style).sheet; // return function (selector, css) { // var propText = typeof css === "string" ? css : Object.keys(css).map(function (p) { // return p + ":" + (p === "content" ? "'" + css[p] + "'" : css[p]); // }).join(";"); // sheet.insertRule(selector + "{" + propText + "}", sheet.cssRules.length); // }; // })(document.createElement("style")); // Adding CSS rule for USD price. // addRule(".text-USDprice", { // color: "#209d3d", // }); $('head').append('<link rel="stylesheet" id="baseCSS" type="text/css" href="https://cdn.jsdelivr.net/gh/squall831/Farmatodo-Enhancer/BaseCSS.css">'); function altAddNightMode(recurrent){ if (document.getElementsByClassName("row copy")[0].childElementCount == 3) { var nightMode = document.createElement("div"); nightMode.classList.add("wrapper-toggle"); var toggleInd = document.createElement("span"); toggleInd.classList.add("toggle-indicator"); toggleInd.innerHTML = "Modo Claro / Oscuro:"; var toggleDIV = document.createElement("div"); toggleDIV.classList.add("toggle"); var input = document.createElement("input"); input.classList.add("toggle-input"); input.type = "checkbox"; var toggleBG = document.createElement("div"); toggleBG.classList.add("toggle-bg"); var toggleSW = document.createElement("div"); toggleSW.classList.add("toggle-switch"); var toggleSwFig = document.createElement("div"); toggleSwFig.classList.add("toggle-switch-figure"); var toggleSwFigAlt = document.createElement("div"); toggleSwFigAlt.classList.add("toggle-switch-figureAlt"); nightMode.appendChild(toggleInd); nightMode.appendChild(toggleDIV); toggleDIV.appendChild(input); toggleDIV.appendChild(toggleBG); toggleDIV.appendChild(toggleSW); toggleSW.appendChild(toggleSwFig); toggleSW.appendChild(toggleSwFigAlt); document.getElementsByClassName("col-3 cont-redes-f")[0].insertAdjacentElement("afterend", nightMode); const toggle = document.querySelector('.toggle-input'); const initialState = localStorage.getItem('toggleState') == 'true'; toggle.checked = initialState; toggle.addEventListener('change', function() { localStorage.setItem('toggleState', toggle.checked)}); }; darkMode(true); }; function darkMode(recurrent) { const toggle = document.querySelector('.toggle-input'); if (toggle.checked == true) { /////Proceeding with the main page Night Mode.///// if (document.getElementById("nightCSS") == null) { $('head').append('<link rel="stylesheet" id="nightCSS" type="text/css" href="https://cdn.jsdelivr.net/gh/squall831/Farmatodo-Enhancer/NightCSS.css">'); }; } else { if (document.getElementById("nightCSS") != null) { $('#nightCSS').remove(); }; }; if (window.location.href.slice(0,38)=='https://www.farmatodo.com.ve/producto/') { if (document.getElementsByClassName('lds-roller lds-roller-ftd-blue')[0] == undefined) { if (document.getElementById("nightCSS2") != null) { $('head').append('<link rel="stylesheet" id="nightCSS2" type="text/css" href="https://cdn.jsdelivr.net/gh/squall831/Farmatodo-Enhancer/NightCSS.css">'); }; }; }; }; $( document ).ready(function() { setInterval(function(){updatePrices(true);},1000); setInterval(function(){altAddNightMode(true);},1000); });