javascript - Angular 表单的语音输入
问题描述
我正在使用 Angular 11,我需要将语音输入添加到表单字段。看了一些教程后,我才知道可以"x-webkit-speech"
启用语音输入。
我参考了一篇文章https://codepen.io/matt-west/pen/wbpqu,他们正在使用 JavaScript。
我试图将脚本转换为 TypeScript,但我遇到了一些错误。
我希望将相同的东西转换为支持 Angular 9+ 的 TypeScript
HTML、CSS 和 JS 文件(将转换为支持 Angular 9+ 的 TypeScript)
var msg = document.getElementById('msg');
if (document.createElement('input').webkitSpeech === undefined) {
msg.innerHTML = "x-webkit-speech is <strong>not supported</strong> in your browser.";
} else {
msg.innerHTML = "x-webkit-speech is <strong>supported</strong> in your browser.";
}
*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-family: Helvetica, Arial, sans-serif;
font-size: 100%;
background: #333;
}
#page-wrapper {
width: 640px;
background: #FFFFFF;
padding: 1em;
margin: 1em auto;
border-top: 5px solid #69c773;
box-shadow: 0 2px 10px rgba(0,0,0,0.8);
}
h1 {
margin-top: 0;
}
label {
display: block;
padding-bottom: 0.25em;
}
input {
display: block;
font-size: 1.2em;
padding: 0.25em;
width: 100%;
margin-bottom: 1em;
border-radius: 3px;
border: 1px solid #BABABA;
}
button {
display: inline-block;
border-radius: 3px;
border: none;
font-size: 0.9rem;
padding: 0.4rem 0.8em;
background: #69c773;
border-bottom: 1px solid #498b50;
color: white;
-webkit-font-smoothing: antialiased;
font-weight: bold;
margin: 0 0.25rem;
text-align: center;
}
button:hover, button:focus {
opacity: 0.75;
cursor: pointer;
}
button:active {
opacity: 1;
box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1) inset;
}
<div id="page-wrapper">
<h1>Speech Input Demo / Tester</h1>
<p id="msg"></p>
<label for="text">Text</label>
<input type="text" id="text" x-webkit-speech>
<label for="number">Number</label>
<input type="number" id="number" x-webkit-speech>
<label for="email">Email</label>
<input type="email" id="email" x-webkit-speech>
<label for="url">URL</label>
<input type="url" id="url" x-webkit-speech>
<label for="tel">Telephone</label>
<input type="tel" id="tel" x-webkit-speech>
<label for="date">Date</label>
<input type="date" id="date" x-webkit-speech>
<label for="datetime">Date and Time</label>
<input type="datetime" id="datetime" x-webkit-speech>
<label for="month">Month</label>
<input type="month" id="month" x-webkit-speech>
</div>
注意:我从网上引用了此代码。
链接 - https://blog.teamtreehouse.com/accepting-speech-input-html5-forms
解决方案
推荐阅读
- ios - 从 UILabel 中删除顶部和底部填充
- google-cloud-platform - 无法在 Google DataProc 创建时为 Jupyter 和 Zeppelin 自定义端口
- javascript - 更改数据结构并确定转换时的 O 表示法
- unity3d - 当我在 Unity 2D 中触摸其中一个时,两个不同的 Raycast 2D 同时击中
- powershell - 删除所有包含字符串/值的注册表
- angular - 访问值以响应http请求而不会出错?
- c# - TextBox 绑定到属性后忽略格式字符串
- design-patterns - 工人的设计模式选择
- python - 从 Python 到 Arduino 的串行通信故障排除
- c++ - Delete the row in 2d vector