NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @namespace https://openuserjs.org/users/houtianze // @author Hou Tianze // @name SCB LMI: HK->TW Hack // @description SCB LMI: Hack HK website to look like expected TW one // @copyright 2017, houtianze (https://openuserjs.org/users/houtianze) // @license MIT // @version 0.1.0 // @include *://www.sc.com/retail/mce/* // @grant none // ==/UserScript== // ==OpenUserJS== // @author houtianze // ==/OpenUserJS== (function () { 'use strict'; const HilightDiv = 'style="padding: 2px; border-width: 2px; border-style: solid; border-color: red; "'; function addHref(text) { return '<a ' + HilightDiv + ' ' + 'href="https://www.sc.com/tw"' + '>' + text + '</a>'; } function hilight(text) { return '<div ' + HilightDiv + '>' + text + '</div>'; } function getNode(xpath) { return document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } function getNodes(xpath) { return document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null); } function changeNode(node, value, isText) { if (node !== null) { if (isText) { node.innerText = value; } else { node.innerHTML = value; } } } function change(xpath, value, isText) { var node = getNode(xpath); changeNode(node, value); } function changeAll(xpath, value, isText) { var xpr = getNodes(xpath); var nodes = []; while (true) { var node = xpr.iterateNext(); if (!node) { break; } nodes.push(node); } nodes.forEach((node) => { changeNode(node, value, isText); }); } function main() { var overweight = '看多'; var neutral = '中立'; var underweight = '看淡'; var labels = [overweight, underweight, neutral]; for (var i = 0; i < 3; i++) { change('//*[@class="c-legend"]/div/div[1]/div[' + (i + 1) + ']/span[2]', hilight(labels[i])); } changeAll('//span[contains(@class, "overweight") and contains(@class, "text")]', hilight(overweight)); changeAll('//span[contains(@class, "underweight") and contains(@class, "text")]', hilight(underweight)); changeAll('//span[contains(@class, "neutral") and contains(@class, "text")]', hilight(neutral)); changeAll('//*[text()="澳元"]', hilight('澳幣')); var node = getNode('/html/body/div//ul[text()="主頁"]'); changeNode(node, addHref('主頁')); } main(); })();