Wilson@思源

目 录

给高亮搜索插件自动填入选中文本

see https://ld246.com/article/1729773295142
必须设置快捷键 ctrl+f​ 才行
js
(()=>{ // 等待元素渲染完成后执行 function whenElementExist(selector) { return new Promise(resolve => { const checkForElement = () => { let isExist = false; if (typeof selector === 'function') { isExist = selector(); } else { isExist = document.querySelector(selector); } if (isExist) { resolve(true); } else { requestAnimationFrame(checkForElement); } }; checkForElement(); }); } async function fill_search_text(_t) { if (_t.length == 0) { return } whenElementExist('.b3-text-field.fn__size200').then(() => { const input = document.querySelector('.b3-text-field.fn__size200'); input.value = _t input.dispatchEvent(new Event('input')); setTimeout(()=>{ document.querySelectorAll('.icon--14_14')[1]?.parentElement?.click(); }, 400); }) } function isMac() { return navigator.platform.indexOf("Mac") > -1; } // 事件监听 document.addEventListener('keydown', async (event) => { const ctrlKey = isMac() ? event.metaKey : event.ctrlKey; const controlKey = isMac() ? event.ctrlKey : event.metaKey; if (ctrlKey && !controlKey && !event.shiftKey && !event.altKey && event.key === 'f') { //event.preventDefault(); // 防止快捷键默认行为 fill_search_text(window.getSelection().toString().trim()) } }); })()