var StreamFlash = "";
function Refresh() {
if (EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) {
if (StreamFlash == "") {
$('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash);
StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
}
if (StreamFlash != EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) {
console.log('Load');
$('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash);
StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
}
}
setTimeout(Refresh, 1000);
}
函数Refresh();每秒触发一次,这会检查变量EVENTDATA(json)中flash流对象的变化,当streamobject被更改时,它必须加载一次,而不是每秒加载一次。
我怎么做到这一点?
答案 0 :(得分:0)
实际上您的代码应该有效:测试StreamFlash
是否与EVENTDATA
中的新数据不同,只有在数据发生更改时才会运行。
我会稍微简化一下代码,但如果它仍然无效,请尝试在StreamFlash
中记录EVENTDATA
数据,看看它是否确实发生了变化。
var StreamFlash = "";
function Refresh() {
var remoteStreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
if (remoteStreamFlash && StreamFlash != remoteStreamFlash) {
$('td.playercontainer').html(remoteStreamFlash);
StreamFlash = remoteStreamFlash;
}
setTimeout(Refresh, 1000);
}