Использовать x-webkit-речь в расширении HTML/JavaScript
Я пытаюсь использовать новую функцию x-webkit-speech
в простом расширении HTML/JavaScript в Google Chrome. Я, однако, попытался и попытался взглянуть на кучу примеров и не смог заставить его успешно вызвать функцию. Я видел, как это делают другие люди, и я не понимаю, почему я не могу. Я поместил код JavaScript в отдельный файл, но я включаю использование < script src= "filename.js" > это моя строка для x-webkit-speech....
<input id="speechInput" type="text" style="font-size:25px;" x-webkit-speech speech onwebkitspeechchange="onChange()" />
Теперь, если я изменяю onChange()
на alert(this.value)
, он запускает окно предупреждения со значением ввода речи в нем. Поэтому я действительно не понимаю, почему я не могу просто вызвать другую функцию. Я не лучший программист на JavaScript или HTML, но я много разбираюсь в этом. Все определяют вещи по-разному, и поскольку нет твердого API, трудно действительно знать, кто имеет правильную форму, потому что все они как-то работают.
Моя функция onChange
выглядит как
function onChange() { alert("in onChange"); }
Я просто пытаюсь проверить и убедиться, что это будет функция, но я ничего не получаю.
Ответы
Ответ 1
Сегодня я играл с этой функцией, и на самом деле ваш код выглядит нормально и работает для меня. Полная версия будет следующей:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Speech</title>
</head>
<script type="text/javascript" charset="utf-8">
function onChange() {
alert('changed');
}
</script>
<body>
<input id="speechInput" type="text" style="font-size:25px;"
x-webkit-speech onwebkitspeechchange="onChange()" />
</body>
</html>
Хотя я заметил, что onChange() не вызывается, если Chrome не распознает речь. Я использую бета-версию Chrome 11.0.696.28. Также речевой атрибут не нужен, если вы настроите таргетинг только на веб-браузеры, такие как Chrome или Safari. И даже если вы его оставите, он не работает с Firefox 4. Не уверен в IE9, так как у меня его нет.
Ответ 2
if (document.createElement("input").webkitSpeech === undefined) {
alert("Speech input is not supported in your browser.");
}
вы можете использовать этот код
Ответ 3
Не волнуйтесь, просто попробуйте следовать, это должно помочь
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<title>Speech Input Test</title>
<h2>Speech Input Test</h2>
<input id="speech-input-field" type="text" x-webkit-speech="">
<html>