Задать вопрос
@lexstile

Почему getVoices работает через раз?

Вызываю:
window.speechSynthesis.getVoices(); // пустой массив

Нужно получить массив объектов голосов.
Как только сделал - работало, после 5-10 обновлений страницы перестало (и на document.ready ставил и на window.onload).
В чем кроется проблема?
Задача: проверить поддержку браузера и проверить наличие голоса ru-RU
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@lexstile Автор вопроса
Решил пока так:
window.speechSynthesis.addEventListener('voiceschanged', function() {
  if(isSpeechSynthesis() && isRuVoices()) {
    $('.voice').toggleClass('d-none');
  }
});

function isSpeechSynthesis() {
  return window.speechSynthesis || false;
}

function isRuVoices() {
  const arrVoices = window.speechSynthesis.getVoices();
  return arrVoices.find(function(item){
    return item.lang === 'ru-RU';
  });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект