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