首页 > 解决方案 > 存储其值的开始/停止按钮

问题描述

我需要创建一个开始/停止(单按钮)来向摄像机发送记录命令。

命令通过命令管道发送,用 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;

标签: javascriptphphtmlajax

解决方案


您可以使用 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();

推荐阅读