NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Seller Appeal 2 // @namespace kalpsdj // @author @shjaisw @arjmm // @license MIT // @version 0.1 // @downloadURL https://openuserjs.org/install/kalpdev.1/Seller_Appeal_2.user.js // @updateURL https://openuserjs.org/meta/kalpdev.1/Seller_Appeal_2.meta.js // @description Tool used for Seller Appeals // @include https://genus.aka.amazon.com/* // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // ==/UserScript== function getURLASIN() { //get the ASIN from the URL var m; m = document.location.href.match(/(?:.+\/)?dp\/([^/?]+)/); if (m) return m[1]; m = document.location.href.match(/gp\/product\/([^/?]+)/); if (m) return m[1]; m = document.location.href.match(/ASIN\/([^/?]+)/); if (m) return m[1]; } function getDPASIN() { var n; n = document.getElementById('ASIN').value; if (n) return n; n = document.getElementByName('ASIN').value; if (n) return n; } function shjaisw(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } (function() { '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'); val = val.replace(pat1, sep).replace(pat2, ''); } val = val.replace(/\s{2,}/g, ' ').trim(); GM_setValue(varName, val); if(!document.body.querySelector(".THmoa")) THmoa_doHighlight(document.body); else location.reload(); }); } var THmoa_MutOb = (window.MutationObserver) ? window.MutationObserver : window.WebKitMutationObserver; if (THmoa_MutOb){ var THmoa_chgMon = new THmoa_MutOb(function(mutationSet){ mutationSet.forEach(function(mutation){ for (var i=0; i<mutation.addedNodes.length; i++){ if (mutation.addedNodes[i].nodeType == 1){ THmoa_doHighlight(mutation.addedNodes[i]); } } }); }); var opts = {childList: true, subtree: true}; THmoa_chgMon.observe(document.body, opts); } function THmoa_doHighlight(el){ var keywords = GM_getValue('keywords'); if(!keywords) keywords = "Yes" var highlightStyle = GM_getValue('highlightStyle'); if (!highlightStyle) highlightStyle = "color: #fbf9f9; padding: 45px; font-weight: bold; background-color: #F44336;" var rQuantifiers = /[-\/\\^$*+?.()|[\]{}]/g; keywords = keywords.replace(rQuantifiers, '\\$&').split(',').join('|'); var pat = new RegExp('(' + keywords + ')', '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 != "THmoa" && node.parentNode.className != "THmoa"){ var sp = span.cloneNode(true); sp.innerHTML = node.nodeValue.replace(pat, '<span style="' + highlightStyle + '" class="THmoa">$1</span>'); node.parentNode.replaceChild(sp, node); } } } } THmoa_doHighlight(document.body); })();