原因:插件所在页面没有全部加载完成,就引用了插件对象,导致差生上述问题。

解决办法:延迟引用插件对象。

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秒引用。

02-14 04:21