Javascript 无法在JS中声明OPOS MSR

Javascript 无法在JS中声明OPOS MSR,javascript,internet-explorer,hta,opos,Javascript,Internet Explorer,Hta,Opos,我有Posiflex MSR MR2000系列。我已经安装了Posiflex OPOS控制。 我需要在IE 8下的html页面上管理MSR。我在JS代码/对象中使用ocx control OPOS.MSR,其中包含CLSID。我有这样一个代码ActiveX版本 function msrop(){ try { if ( r = msro.Open('MR1') ) { log ( ER100 + ' ' + 'MSROP' + ' ' + r );

我有Posiflex MSR MR2000系列。我已经安装了Posiflex OPOS控制。 我需要在IE 8下的html页面上管理MSR。我在JS代码/对象中使用ocx control OPOS.MSR,其中包含CLSID。我有这样一个代码ActiveX版本

    function msrop(){

        try { 
          if ( r = msro.Open('MR1') ) { log ( ER100 + ' ' + 'MSROP' + ' ' + r ); return }
          log(r);
        } 
        catch ( e ) { 
          log ( 'MSROP' , e ) ; return ;
        }

    }

    function msrcl(){
        try { 
          if ( r = msro.Claim(-1) ) { log ( ER100 + ' ' +  'MSRCL' + ' ' + r ); return }
          msro.DeviceEnabled = true ;
          msro.DataEventEnabled = true ;
          log(r);
        } 
        catch ( e ) { 
          log ( 'MSRCL' , e ) ; return ;
        }
    }

    function ol(){

        try { msro = new ActiveXObject ( 'OPOS.MSR' ) ; } catch ( e ) { alert(e) }

        bind ( msro ) ;
    }

    function bind( o ){
        function o::DataEvent(){
            log('<br/>' + '->Tracks read ' + 'T1: ' + o.Track1Data + ' T2: ' + o.Track2Data + 'T3: ' + o.Track3Data + 'T4: ' + o.Track4Data );
            log('<br/>' + '->DataEventEnabled ' + ( msro.DataEventEnabled = true ))
            var d = document.getElementById('track');
            d.innerHTML = o.AccountNumber;
        }
    }
...
    <button onclick="msrop()">Open</button>
    <button onclick="msrcl()">Claim</button>
此代码在HTA应用程序中运行良好:Claim方法返回OPOS_SUCCESS 0。但当我在InternetExplorer8中尝试将其作为HTM时,Claim方法会引发异常,对象ResultCode属性是104 OposeService。Recall返回结果代码102


我需要在Internet Explorer中正确获取工作索赔方法。为什么相同的代码在基于IE的HTA中工作不同???

很可能是因为ActiveX,你需要给你的IE更多的权限来处理ActiveX。我给了IE最大的权限,但安全级别很低。当你添加这两行时,你能分享你在HTM中看到的内容吗?alertdocument.documentMode;alertwindow.navigator.userAgent;结果是8和Mozilla/4.0兼容;msie8.0;windowsnt5.1;三叉戟/4.0。NET CLR 2.0.50727。NET CLR 3.0.04506.30。NET CLR 3.0.4506.2152。NET CLR 3.5.30729。NET CLR 1.1.4322。NET4.0C。NET4.0E