NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name KeyLight 9 // @namespace kalpsdj // @author Shjaisw // @license MIT // @updateURL https://openuserjs.org/meta/kalpdev.1/KeyLight_9.meta.js // @downloadURL https://openuserjs.org/install/kalpdev.1/KeyLight_9.user.js // @run-at document-end // @version 3.6 // @description Highlights Connecting words // @include https://* // @exclude https://*google* // @exclude https://*policy* // @exclude https://*share* // @exclude https://argus.aka.amazon.com/* // @exclude https://issues.amazon.com/* // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // ==/UserScript== // Do not make any changes/delete any script,line no 13. We are not responsible for any changes in script. Do not allow script to run on argus. (function() { // Highlight Connecting words Realated product details 'use strict'; if (window.self !== window.top) { return; } function setUserPref(varName, defaultVal, menuText, promtText, sep){ GM_registerMenuCommand(menuText, function() { var val = prompt(promtText, GM_getValue(varName, defaultVal)); if (val === null) { return; } if (sep && val){ var pat1 = new RegExp('\\s*' + sep + '+\\s*', 'g'); var pat2 = new RegExp('(?:^' + sep + '+|' + sep + '+$)', 'g'); // trim starting & trailing separator val = val.replace(pat1, sep).replace(pat2, ''); } val = val.replace(/\s{2,}/g, ' ').trim(); GM_setValue(varName, val); if(!document.body.querySelector(".THmo")) THmo_doHighlight(document.body); else location.reload(); }); } var THmo_MutOb = (window.MutationObserver) ? window.MutationObserver : window.WebKitMutationObserver; if (THmo_MutOb){ var THmo_chgMon = new THmo_MutOb(function(mutationSet){ mutationSet.forEach(function(mutation){ for (var i=0; i<mutation.addedNodes.length; i++){ if (mutation.addedNodes[i].nodeType == 1){ THmo_doHighlight(mutation.addedNodes[i]); } } }); }); // attach chgMon to document.body var optss = {childList: true, subtree: true}; THmo_chgMon.observe(document.body, optss); } function THmo_doHighlight(el){ var sdj = GM_getValue('sdj'); if(!sdj) sdj="Li-ion, Lithium-ion, lithium-polymer, 18650, Li-metal, Battery, Lead Acid, Non spillable, rechargable, wireless, AGM, Wired, Bluetooth, jump starter, ride on, 3.5mm, Built in, inbuilt, watt hour, charging, hand warmer, heated jacket,gauss, pull force, inch, marker, glitter, Butane, flint, igniter, pull,start, radioactive, empty, gas, fire, nicotine, piezo, MANUAL, waterbased" var sdjc = GM_getValue('sdjc'); if (!sdjc) sdjc = "color: #000; font-weight: bold; background-color: #FF8C00;" var rQuantifiers = /[-\/\\^$*+?.()|[\]{}]/g; sdj = sdj.replace(rQuantifiers, '\\$&').split(',').join('|'); var pat = new RegExp('(' + sdj + ')', 'gi'); var span = document.createElement('span'); var snapElements = document.evaluate( './/text()[normalize-space() != "" ' + 'and not(ancestor::style) ' + 'and not(ancestor::script) ' + 'and not(ancestor::textarea) ' + 'and not(ancestor::code) ' + 'and not(ancestor::pre)]', el, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); if (!snapElements.snapshotItem(0)) { return; } for (var i = 0, len = snapElements.snapshotLength; i < len; i++) { var node = snapElements.snapshotItem(i); if (pat.test(node.nodeValue)) { if (node.className != "THmo" && node.parentNode.className != "THmo"){ var sp = span.cloneNode(true); sp.innerHTML = node.nodeValue.replace(pat, '<span style="' + sdjc + '" class="THmo">$1</span>'); node.parentNode.replaceChild(sp, node); } } } } // first run THmo_doHighlight(document.body); })();