如果重新加载页面,JavaScript将忽略警报

时间:2019-02-27 16:28:59

标签: javascript jquery

我正在这样检测JavaScript中的webrtc流的结尾...

stream.getVideoTracks()[0].onended = () => {
    alert('Feed Has Ended');
};

这正常工作,但是如果用户刷新或重新加载页面,则还会显示警报。

我了解这在技术上是正确的,但是如何在这种情况下不显示警报呢?

1 个答案:

答案 0 :(得分:1)

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

喜欢

this.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结束的回调中可以检查

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

(我希望对此发表评论,但目前还不允许评论)