實現Electron app頁內按關鍵字查找匹配文本的功能git
$ npm install electron-find --save
# 引入模塊 import { remote, ipcRenderer } from 'electron' import { FindInPage } from 'electron-find' # 使用默認配置來建立實例 let findInPage = new FindInPage(remote.getCurrentWebContents()) findInPage.openFindWindow() # 開啓預加載選項,建立實例的時候會同時加載查找窗口相關dom let findInPage = new FindInPage(remote.getCurrentWebContents(), { preload: true }) findInPage.openFindWindow() # 配置父節點元素, 默認爲 document.body let findInPage = new FindInPage(remote.getCurrentWebContents(), { parentElement: document.querySelector('#id') }) findInPage.openFindWindow() # 配置查找窗口顯示或隱藏的過渡週期, 默認爲 300 (ms) let findInPage = new FindInPage(remote.getCurrentWebContents(), { duration: 200 }) findInPage.openFindWindow() # 配置查找窗口相對於父級定位節點的偏移量 let findInPage = new FindInPage(remote.getCurrentWebContents(), { offsetTop: 20, offsetRight: 30 }) findInPage.openFindWindow() # 自定義UI界面顏色 let findInPage = new FindInPage(remote.getCurrentWebContents(), { boxBgColor: '#333', boxShadowColor: '#000', inputColor: '#aaa', inputBgColor: '#222', inputFocusColor: '#555', textColor: '#aaa', textHoverBgColor: '#555', caseSelectedColor: '#555' }) findInPage.openFindWindow() # 參考demo npm install npm run e
Enter: 查找下一個
Shift + Enter: 查找上一個
Esc: 關閉窗口github
另外, 能夠參考demo,使用全局快捷鍵來打開窗口。web
new FindInPage(webContents, [options])
npm
webContents
Object(required) - 渲染進程的webContents對象 options
Object(optional)app
preload
Boolean - 建立實例的時候是否預加載查找窗口。 默認爲 false
。 parentElement
Object - 指定查找窗口的父級節點。 默認爲 document.body
。 duration
Number - 指定查找窗口顯示或隱藏的過渡週期。 默認爲 300
(ms)。 offsetTop
Number - 指定查找窗口相對於父級定位元素頂部偏移量。 默認爲 5
。 offsetRight
Number - 指定查找窗口相對於父級定位元素右邊偏移量。 默認爲 5
。 boxBgColor
String - 配置查找窗口背景色。 默認爲 "#ffffff"
。 boxShadowColor
String - 配置查找窗口陰影色。 默認爲 "#909399"
。 inputColor
String - 配置輸入框文本顏色。 默認爲 "#606266"。 inputBgColor
String - 配置輸入框背景顏色。 默認爲 "#f0f0f0"
。 inputFocusColor
String - 配置輸入框聚焦時的邊框顏色。 默認爲 "#c5ade0"
。 textColor
String - 配置查找窗口中文本顏色。 默認爲 "#606266"
。 textHoverBgColor
String - 配置鼠標懸停文本時的背景色。 默認爲 "#eaeaea"
。 caseSelectedColor
String - 配置區分大小寫選項選中時的邊框顏色。 默認爲 "#c5ade0"
。使用new FindInPage 建立的實例具備如下方法:
findInPage.openFindWindow()
當查找窗口關閉時,打開窗口。 當查找窗口已經打開時,聚焦輸入框。
findInPage.closeFindWindow()
關閉窗口。
findInPage.destroy()
關閉窗口,清除對象的引用,釋放內存。
查看更多:https://github.com/TheoXiong/electron-finddom