Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新加载页面时JavaScript忽略警报_Javascript_Jquery - Fatal编程技术网

重新加载页面时JavaScript忽略警报

重新加载页面时JavaScript忽略警报,javascript,jquery,Javascript,Jquery,我正在检测JavaScript中webrtc流的结尾,如下所示 stream.getVideoTracks()[0].onended = () => { alert('Feed Has Ended'); }; 这工作正常,但如果用户刷新或重新加载页面,则也会显示警报 我知道这在技术上是正确的,但我如何才能让它在这些情况下不显示警报?为什么不使用全局布尔值来检查视频是否正在播放?当您重新加载或刷新页面时,isVideoRunning将变为false,并且不会显示警报 像 走上正轨

我正在检测JavaScript中webrtc流的结尾,如下所示

stream.getVideoTracks()[0].onended = () => {
    alert('Feed Has Ended');
};
这工作正常,但如果用户刷新或重新加载页面,则也会显示警报


我知道这在技术上是正确的,但我如何才能让它在这些情况下不显示警报?

为什么不使用全局布尔值来检查视频是否正在播放?当您重新加载或刷新页面时,isVideoRunning将变为false,并且不会显示警报

走上正轨

this.rtcPeerCon_.ontrack = function (event) {
    if (!this.rtcPeerCon_) {
        return;
    }
    if( !this.remoteVideo_ ) {
        return;
    }
    this.remoteVideo_.srcObject = event.streams[0];
    this.isVideoRunning = true;
}
然后在您的onStream-end回调中,您可以检查

if (this.isVideoRunning) {
    alert('whatever');
    this.isVideoRunning = false;
}

我希望这是评论,但我还不允许评论

因此,您希望警报仅在用户第一次访问页面时以及视频流结束时显示?您可以选择他们点击的键->记不起哪些值链接到了哪些键,但您可以在条件设置中使用它。唯一一件事是这件事不能解决,如果用户使用鼠标刷新,则您必须在localStorage或Cookie中存储一些布尔标志。@treyBake不认为您可以使用alt left/backspace/history来捕获F5/Control-F5/back。go-1/右键单击back/右键单击reload/右键单击back按钮并从菜单中选择以清除,您希望在提要自然结束时显示警报,而不是在提要由于用户交互(如重新加载页面、返回、前进或任何其他用户操作)而结束时显示警报。
if (this.isVideoRunning) {
    alert('whatever');
    this.isVideoRunning = false;
}