Highlight selected text on doubleclick
< 腳本HighlightSelected的回應
See description
// ==UserScript== // @name HighlightSelected // @namespace novhna // @`description` Highlight selected text on doubleclick. The small modification allows to keep the original double-click functionality and to execute the entire script only when the control key (ctrlKey) is pressed. Tested on Vivaldi v. 2.6.1566.49 (64-Bit) // @include * // @version 0.0.2 // @grant GM_getValue // @grant GM_setValue // ==/UserScript== const highlighter = text => `<span class="tmp-highlighted" style="background-color: greenyellow;" >${text}</span>` const replacer = selected => text => text === selected ? highlighter(text) : text const cleaner = () => document .querySelectorAll('span.tmp-highlighted') .forEach(tag => tag.outerText = tag.innerText) document.body.addEventListener('dblclick', function(ev) { if(!ev.ctrlKey) { return; // break condition is met } cleaner() const selected = document.getSelection().toString().trim() if (!selected) return false const page = document.body.innerHTML const re = RegExp(`<.+?>|\\b(${selected})\\b`, 'g') console.log(`[${selected}]`, re) const newPage = page.replace(re, replacer(selected)) document.body.innerHTML = newPage })
登入以回復
See description