原因:插件所在页面没有全部加载完成,就引用了插件对象,导致差生上述问题。
解决办法:延迟引用插件对象。
setTimeout(function() { getWebVideoCtrl(obj).I_Login(oLiveView.zxdvrip, 1, 80, oLiveView.zxdvryhm, oLiveView.zxdvrmm, { success: function(xmlDoc) { console.info("登陆成功,准备开始回放"); setTimeout(function() { var iRet = getWebVideoCtrl(obj).I_StartRealPlay(oLiveView.zxdvrip, { iStreamType: 1, iChannelID: oLiveView.zxdvrtd, bZeroChannel: false }); if (0 == iRet) { szInfo = "打开预览成功!"; } else { szInfo = "打开预览失败!"; } console.info(szInfo); }, 3000); } }) }, 3000);
function getWebVideoCtrl(obj) {
var iframeObj;
if (typeof (obj) == 'string') {
iframeObj = $('#' + obj)[0].contentWindow.WebVideoCtrl;
} else {
iframeObj = obj.contentWindow.WebVideoCtrl;
}
return iframeObj;
}
延迟3秒引用。