javascript - 存储其值的开始/停止按钮
问题描述
我需要创建一个开始/停止(单按钮)来向摄像机发送记录命令。
命令通过命令管道发送,用 php.ini 编写。
按钮应该存储它的值。这样,当页面刷新时,它会记住最后一个值。
举个例子:
我第一次按下“开始”按钮。它会发送命令开始录制并将自己更改为“停止”。如果我重新加载页面,我会找到一个“停止”按钮,它会发送停止录制的命令。单击后,它将返回默认状态,即“开始”。
有人可以帮忙吗?
这是我到目前为止所拥有的:
HTML
<input type="button" value="Start" onclick="javaScript:startstopRecording()" id="startButton">
JS
var recording = null;
function init(){
}
startstopRecording = function(){
if(recording != null){
stop();
} else {
start();
}
change();
}
function start(){
}
change = function(){
var elem = document.getElementById("startButton");
if (elem.value=="Stop") elem.value = "Start";
else elem.value = "Stop";
}
stop = function(){
recording = null;
}
window.onload = recording;
解决方案
您可以使用 javascript本地存储
只读的 localStorage 属性允许您访问 Document 源的 Storage 对象。存储的数据跨浏览器会话保存。localStorage 与 sessionStorage 类似,不同之处在于,虽然 localStorage 中存储的数据没有过期时间,但 sessionStorage 中存储的数据会在页面会话结束时即页面关闭时被清除。
按下按钮后,您应该在 localStorage 中设置一个项目:
window.localStorage.setItem("recording", 1); // or 0
您可以像这样获得最新的状态值:
var recording = window.localStorage.getItem('recording');
这里有更多帮助你理解它:
var recording = window.localStorage.getItem('recording');
startstopRecording = function(){
if(recording == 1) {
stop();
} else {
start();
}
change();
}
function start() {
//start recording
window.localStorage.setItem("recording", 1);
}
function stop() {
//stop recording
window.localStorage.setItem("recording", 0);
}
change();
推荐阅读
- javascript - 警告:无法在尚未安装的组件上调用 setState
- flutter - Flutter + Provider:如何将滑块的值传回提供者?
- node.js - 在 Angular 7 中访问 JSON 值
- flutter - Flutter TextFormField 掩码
- python - 有没有办法在 RPI 零上使用已编译的 keras 模型?
- c# - C# LINQ 使用值列表按子列表过滤复杂对象列表
- angular - 我可以在 forRoot/forChild 方法中添加模块导入吗?
- android - 如何使 tableLayout 元素适合屏幕
- sql - 如何将mailto放在文本字符串中的电子邮件地址周围
- php - 将作曲家启用站点部署到生产时出现 Guzzle 401 错误?