Пожалуйста, посмотрите на код нижеНе удается вызвать класс Javascript от HTML
TTSScript.js
function TTS()
{
var msg = new SpeechSynthesisUtterance("yohan");
var voices = window.speechSynthesis.getVoices();
this.speakText = function()
{
window.speechSynthesis.speak(msg);
}
}
index.html
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="/scripts/TTSScript.js"></script>
<script>
function speak()
{
var msg = new SpeechSynthesisUtterance('Hello World');
window.speechSynthesis.speak(msg);
}
function speak2()
{
var TTS = new TTS();
TTS.speakText();
}
</script>
</head>
<body>
<div><button onclick="speak2()">Click me</button></div>
</body>
</html>
Unfortunatly, когда я нажмите на кнопку на странице html, то, что я получаю, является ошибкой. Это ниже.
Uncaught TypeError: undefined is not a function (13:42:13:817 | error, javascript)
at speak2 (public_html/index.html:23:26)
at onclick (public_html/index.html:31:126)
Я не очень знаком с JavaScript, можете ли вы сообщить мне, почему я получаю эту ошибку и как ее исправить?
Это единственная ошибка? это 'SpeechSynthesisUtterance', определенный в вашем браузере? –
js fiddle приветствуется, в другом случае это «почему этот код не работает?». вопрос – micnic
@TimSeguine: как вы можете видеть, я могу вызвать функцию 'speak()' без проблем, да, определяется 'SpeechSynthesisUtterance'. –