生活随笔
收集整理的這篇文章主要介紹了
自定义处理网页选区字符并实时显示(js)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
瀏覽網頁的時候,可能需要去數一下某段文字的字符數量,或者需要對選中內容做些實時翻譯,比如進制的轉化,可以使用腳本做個簡單的實時翻譯。
效果
選中內容,并且鼠標移動時會在左下角顯示翻譯后的結果。示例為翻譯二進制為十進值
使用方式
打開開發者工具復制以下方法到控制臺執行方法,如果需要自定義處理結果,則第一個參數不為空
function getSelectionText(simple = true, render) {let el
= document
.body
;let el_num
= document
.getElementById('selectionNum');if (!el_num
) {el_num
= document
.createElement('div');el_num
.setAttribute('id', 'selectionNum');el_num
.style
= `position: fixed;left: 0px;bottom: 0px;width: 100px;height: 20px;line-height: 20px;border: 1px solid rgb(0, 0, 0);background: rgb(255, 255, 255);`;el
.appendChild(el_num
)}let text
;let paint = () => {text
= document
.getSelection().toString();el_num
.innerHTML
= typeof render
== 'function'? render(text
):text
.length
;};let shower
= window
.shower
|| {};el
.removeEventListener('mousedown', shower
.mouseDownHandle
);el
.removeEventListener('mousemove', shower
.mouseMoveHandle
);el
.removeEventListener('mouseup', shower
.mouseUpHandle
);if (simple
) {shower
.mouseMoveHandle = () => paint();} else {shower
.readyShow
= false;shower
.mouseMoveHandle = () => shower
.readyShow
&& paint();shower
.mouseDownHandle = () => {shower
.readyShow
= true;el
.addEventListener('mouseup', shower
.mouseUpHandle
);el
.addEventListener('mousemove', shower
.mouseMoveHandle
);};shower
.mouseUpHandle = () => {shower
.readyShow
= false;el
.removeEventListener('mousemove', shower
.mouseMoveHandle
);el
.removeEventListener('mouseup', shower
.mouseUpHandle
);};}window
.shower
= shower
;el
.addEventListener('mousemove', shower
.mouseMoveHandle
);el
.addEventListener('mousedown', shower
.mouseDownHandle
)
}
總結
以上是生活随笔為你收集整理的自定义处理网页选区字符并实时显示(js)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。