请问一下为什么我的提示框跳了两次,一次是confirm一次在window.location.href。我不太明白为什么window.location.href 也会弹出提示框?
这是因为ontimeupdate 事件多次触发
ontimeupdate 事件是在当前播放位置改变时就执行
ontimeupdate事件触发之后播放并没有暂停。
在confirm对话框弹出之后播放位置还是会改变。
window.location.href跳转需要一定的时间、
在window.location.href跳转之前会再次触发ontimeupdate事件
你在getVideoTime函数中取消ontimeupdate事件就好
function getVideoTime() {
vid.ontimeupdate = null;
..............
}
getVideoTime运行了两次?那你看看navApp.token的值
if(confirm('请先登录') == true)这种写法本身就有问题,if里面应该是变量 == 某个值,你的if里面是个方法,是方法就会被执行,在你代码的其它地方肯定有confirm(‘请先登陆’)这句话,按照正常逻辑你应该把这句话写在一个方法里面比如
let confirmFlag
confirm(){
confirmFlag = true
confirm('请先登陆')
}
你那个if里面 if(confirmFlag == true){
console.log('1111')
}
vid.currenTime = 58
if(vid.currentTime > 82)
这是什么意思,这种情况下如果能调用方法,说明走的根本不是这段代码