Если вы пользуетесь браузером Chrome, то вы наверняка заметили нововведение, которое придумала Google - это иконка микрофончика в правой стороне однострочного поля ввода. 

chrome x-webkit-speech disable

При клике на нее, начинается запись голоса, как только после фразы произошла пауза, запись отправляется на сервер для распознавания, в ответ сервер возвращает текст(Надо заметить редко верный). Всеобщему ликованию по этому случаю я в одном из проектов противопоставил желание дизайнера непременно разместить на форме input type="text" шириной 20px. В результате на форме остался лишь 'микрофончик', просто ввести в поле текст стало невозможно. Я начал искать, как же его убрать. В результате, что удивительно ничего не нашел. На большинстве сайтов, объясняется, как его включить принудительно.  Виной всему атрибут x-webkit-speech, который chrome вставляет каждому input'у на странице автоматически.

Отсюда первый способ избавится от x-webkit-speech:

1
2
3
4
5
6
7
8
window.onload = function(){
  //убираем x-webkit-speech только у одного input
  document.getElementById('textfieldid').removeAttribute('x-webkit-speech'))
  //ну или удалим атрибут сразу у всех инпутов на странице
  var inpts = document.getElementsByTagName('input')
  for(var i in inpts)
    inpts[i].removeAttribute('x-webkit-speech')
}

сделаем тоже самое на jquery

1
2
3
4
5
6
jQuery( function(){
  //убираем x-webkit-speech только у одного input
  $('#textfieldid').removeAttr('x-webkit-speech'))
  //ну или удалим атрибут сразу у всех инпутов на странице
  $('input').removeAttr('x-webkit-speech'))
})

все это работает, но мне хотелось более изящного решения и оно было найдено через css:

1
2
3
4
5
6
7
input#textfieldid::-webkit-input-speech-button {
  display:none;
}
/* или у всех инпутов на странице*/
input::-webkit-input-speech-button {
  display:none;
}

Система распознавания голоса Google Chrome работает даже на самых маломощных ноутбуках, так как использует для этого облачные вычисления серверов google. Это отчасти оправдано для слабого железа, так и для смартфонов. Но когда у Вас нет интернет соединения, эта функция бесполезна. Стоит заметить, что ноутбук без интернета, это большой mp3-плеер =) 

Оставлять комментарии могут только зарегистрированные пользователи

Комментарии  

Leroy
# Leroy 19.06.2012 03:32
Ну я не сомневаюсь, что можно это отключить каким-то другим атрибутом, либо присвоив x-webkit-speech какое-то значение, но я так и не нашел верного решения
Варелий
# Варелий 25.09.2012 13:47
Это плагин делает, вырубите его и все стоило для этого статью писать
Leroy
# Leroy 25.09.2012 13:51
да спасибо, я уже догадался)
Варелий
# Варелий 25.09.2012 13:50
Хотя когда-нибудь станет нормой
Варелий
# Варелий 25.09.2012 13:53
тоже один раз сломал голову
Варелий
# Варелий 25.09.2012 13:55
кстати у вас корректно работает распознавание голоса?
Варелий
# Варелий 25.09.2012 13:56
у меня не очень