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

chrome x-webkit-speech disable

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

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

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

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

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

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

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

Рассказать друзьям

Добавить комментарий


Защитный код
Обновить

Комментарии   

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