Почему JavaScript не может надежно переключать встроенный в браузер язык проверки правописания в Chrome/Edge?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему JavaScript не может надежно переключать встроенный в браузер язык проверки правописания в Chrome/Edge?

Сообщение Anonymous »

Я создаю многоязычное веб-приложение, в котором пользователи часто переключаются между английским (en-GB) и португальским (pt-PT) набором текста в одном и том же сеансе.
Я могу включить проверку орфографии с помощью проверки правописания = "true", а также установить подсказку языка с помощью атрибута lang элемента. В Firefox динамическое изменение textarea.lang заставляет встроенную проверку орфографии переключать словари. Но в Chrome и Edge изменение языка во время выполнения, похоже, вообще не влияет на проверку орфографии (даже если словари установлены/включены). Переключение проверки правописания и принудительное размытие/фокус не помогают.
Минимальное воспроизведение:

Код: Выделить всё


 pt-PT
 en-GB



const pt = document.getElementById("pt");
const en = document.getElementById("en");
const t = document.getElementById("t");

function apply() {
if (this === pt && pt.checked) en.checked = false;
if (this === en && en.checked) pt.checked = false;

t.lang = pt.checked ? "pt-PT" : "en-GB";
// try to force re-evaluation (doesn't help in Chrome/Edge)
t.blur(); t.focus();
}

pt.addEventListener("change", apply);
en.addEventListener("change", apply);

Вопросы:
  • Существует ли спецификация/стандартная причина, по которой браузеры не предоставляют надежный способ выбора словаря проверки орфографии для каждого элемента (или реакции на динамические изменения языка)?
  • Является ли поведение Chrome/Edge намеренным (например, производительность, конфиденциальность, UX) согласованность, ограничения интеграции ОС) или это считается ошибкой/пробелом в функциях?
  • Существуют ли какие-либо обходные пути, которые по-прежнему используют встроенную проверку орфографии (а не полную пользовательскую проверку орфографии), или это единственный реальный вариант реализовать проверку орфографии самостоятельно?
Я специально пытаюсь понять, почему это вообще не стандартизировано/доступно, учитывая, что lang существует, и Firefox, похоже, динамически учитывает его.

Подробнее здесь: https://stackoverflow.com/questions/799 ... -languagei
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»