使用JQuery或JavaScript覆盖Chrome浏览器拼写检查语言

use*_*774 5 html javascript jquery google-chrome spell-checking

我使用的是最新的Chrome浏览器版本55.0.2883.87 m.

在HTML网页上的输入元素上,如何使用JQuery/JavaScript动态覆盖Chrome浏览器拼写检查程序的语言?

例如,如果页面以英语(美国)显示并且拼写检查器设置为英语(美国),我如何传递de的德语语言代码,以便表单内所有输入元素的文本区域将使用德语而不是英语(美国)语言拼写检查输入?

这是一个示例HTML文本区域.

<textarea cols="40" id="id_objective_details" maxlength="1000" name="objective_details" rows="10" class="kmw-disabled keymanweb-font textArea01"></textarea>
Run Code Online (Sandbox Code Playgroud)

Div*_*ani 7

TL;博士

您可以使用更改语言,setAttribute('lang', lang)但Chrome不会使用lang拼写检查属性.是一个不会解决的问题.检查线程以获取更多信息.


相反,Chrome会使用必须由用户选择的用户词典.(尝试右键单击文本区域 - >拼写检查 - >选择语言).用户也应该安装字典,否则拼写检查将无法进行.

您可以尝试以下脚本,并注意更改lang属性不起作用,但如上所述手动更改语言.

function toLang(lang) {
  document.getElementById('id_objective_details').setAttribute('lang', lang);
}
Run Code Online (Sandbox Code Playgroud)
<h3>Here is some random German text</h3>
<p>Hallo Welt, hallo und hallo wieder Welt.</p>

<h3>Here is some random English text</h3>
<p>Hello world, hello and hi again world.</p>
<textarea cols="40" id="id_objective_details" maxlength="1000" name="objective_details" rows="10" class="kmw-disabled keymanweb-font textArea01" spellcheck="true"></textarea>
<br>
<button onclick="toLang('en')">English check</button>
<button onclick="toLang('de')">German check</button>
Run Code Online (Sandbox Code Playgroud)

您可以使用JavaScript SpellCheckJQuery SpellCheck等外部库来完成工作.