W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
自 Electron 8 以來已內(nèi)置支持 Chromium 拼寫檢查器。 在 Windows 和 Linux 上,這由 Hunspell 字典提供支持;而在 macOS 上,它使用本機拼寫檢查器的 API。
對于 Electron 9 及以上,默認啟用拼寫檢查器。 對于 Electron 8,您需要在 webPreferences
中啟用它。
const myWindow = new BrowserWindow({
webPreferences: {
spellcheck: true
}
})
在 macOS 上,由于我們使用本機 API,因此無法設置拼寫檢查器所使用的語言。 默認情況下,macOS 本機拼寫檢查器會自動檢測您使用的語言。
對于 Windows 和 Linux,你應該使用一些 Electron API 來設置拼寫檢查器的語言。
// 設置拼寫檢查器以檢查英語 和 法語
myWindow.session.setSpellCheckerLanguages(['en-US', 'fr'])
// 所有可用語言代碼的數(shù)組
const possibleLanguages = myWindow.session.availableSpellCheckerLanguages
默認情況下,拼寫檢查器將啟用與當前操作系統(tǒng)區(qū)域匹配的語言。
生成上下文菜單所需的所有信息都在每個 webContents
實例的 context-menu
事件中提供。 下面提供了一個小的示例,如何用此信息制作上下文菜單。
const { Menu, MenuItem } = require('electron')
myWindow.webContents.on('context-menu', (event, params) => {
const menu = new Menu()
// 添加每個拼寫建議
for (const suggestion of params.dictionarySuggestions) {
menu.append(new MenuItem({
label: suggestion,
click: () => mainWindow.webContents.replaceMisspelling(suggestion)
}))
}
// 允許用戶 將拼錯的單詞添加到字典中
if (params.misspelledWord) {
menu.append(
new MenuItem({
label: 'Add to dictionary',
click: () => mainWindow.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord)
})
)
}
menu.popup()
})
雖然拼寫檢查器本身沒有發(fā)送任何輸入, 單詞或用戶輸入到谷歌服務中,hunspell 字典文件默認從谷歌 CDN 下載。 如果你想要避免這種情況,你可以提供一個替代 URL 來下載字典。
myWindow.session.setSpellCheckerDictionaryDownloadURL('https://example.com/dictionaries/')
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: