当if为false时执行else后函数不再继续执行,是什么问题呢
function srconload() {
var srcload = setInterval(srcok, 500)
function srcok() {
if (document.getElementById('mp4').src) {
console.log("src已存在,停止监听");
var mp4url = document.getElementById('player_one_html5_api').src
clearInterval(srcload)
console.log(mp4url);
console.log(mp4url.indexOf('.mp4') > -1);
mp4url.indexOf('.mp4') > -1 && b()
} else {
console.log("src不存在,继续监听");
}
}
}
src存在停止监听,没毛病啊。还是你逻辑不对。
clearInterval(srcload)方法应该写在else中?
function srconload() {
var srcload = setInterval(srcok, 500)
function srcok() {
if (document.getElementById('mp4').src) {
console.log("src已存在,停止监听");
var mp4url = document.getElementById('player_one_html5_api').src
console.log(mp4url);
console.log(mp4url.indexOf('.mp4') > -1);
mp4url.indexOf('.mp4') > -1 && b()
} else {
clearInterval(srcload)
console.log("src不存在,继续监听");
}
}
}
if 你把这个函数清掉了,else照常执行,代码看着没什么问题
我把你代码拿出来执行了一下,是没有问题的;你尝试在你那边把 document.getElementById('mp4').src 打印一下看看有没有值;怕是走进了true,停止了定时器
代码中加document.getElementById('mp4').src打印,你就知道为啥了
你的srconload()
执行了吗,是不是忘记执行了,执行了应该没有问题