ie需要 开启activex控件

如何开启 activex控件

按照链接地址找到activeX 相关的都允许即可


     <object id="locator" classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></object>
      <object id="foo" classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></object>   
    <script language="javascript" type="text/javascript">   
        var service = locator.ConnectServer();   
        var MACAddr ;   
        var IPAddr ;   
        var sDNSName;   
        service.Security_.ImpersonationLevel=3;   
        service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');   
    </script>  
 
    <script language="javascript" type="text/javascript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">   
        if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) 
        {   
            if(objObject.MACAddress != null && objObject.MACAddress != "undefined")   
                MACAddr = objObject.MACAddress;   
            if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")   
                IPAddr = objObject.IPAddress(0);   
            if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")   
                sDNSName = objObject.DNSHostName;   
        }   
    </script>   
 
    <script language="javascript" type="text/javascript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">   
        if(IPAddr==""){
            alert("初始化获取ip失败 ,请允许activeX相关信任");
        }else{
            alert("初始化获取:mac:"+unescape(MACAddr)+"  ipv4:"+unescape(IPAddr)+"  dns:"+unescape(sDNSName)); 
        }
        
    </script> 
    
    
    <script>
    
    
/*     getUserIP(function(ip){
        alert("Got IP! :" + ip);
    }); */
    function getUserIP(onNewIP) { //  onNewIp - your listener function for new IPs
          //compatibility for firefox and chrome
          
          function IEVersion() {
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
            var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  
            var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  
            var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
            if(isIE) {
                var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
                reIE.test(userAgent);
                var fIEVersion = parseFloat(RegExp["$1"]);
                if(fIEVersion == 7) {
                    return 7;
                } else if(fIEVersion == 8) {
                    return 8;
                } else if(fIEVersion == 9) {
                    return 9;
                } else if(fIEVersion == 10) {
                    return 10;
                } else {
                    return 6;//IE版本<=7
                }   
            } else if(isEdge) {
                return 'edge';//edge
            } else if(isIE11) {
                return 11; //IE11  
            }else{
                return -1;//不是ie浏览器
            }
        }
          
    
        if(IEVersion()>0){
            onNewIP(IPAddr);
        }else{
              var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
              var pc = new myPeerConnection({
                 iceServers: []
             }),
             noop = function() {},
             localIPs = {},
             ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
             key;
             function iterateIP(ip) {
                 if (!localIPs[ip]) 
                {
                    var re=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
                    var r=re.test(ip);
                    if(r){
                         onNewIP(ip)
                    }
                    };
                 localIPs[ip] = true;
            }
              //create a bogus data channel
             pc.createDataChannel("");
             // create offer and set local description
             pc.createOffer().then(function(sdp) {
                 sdp.sdp.split('\n').forEach(function(line) {
                     if (line.indexOf('candidate') < 0) return;
                     line.match(ipRegex).forEach(iterateIP);
                 });
                 pc.setLocalDescription(sdp, noop, noop);
             }).catch(function(reason) {
                 // An error occurred, so handle the failure to connect
             });
             //sten for candidate events
             pc.onicecandidate = function(ice) {
                 if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
                     ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
             };
        }
    }
    
</script>



结束

最后修改:2019 年 05 月 28 日
如果觉得我的文章对你有用,请随意赞赏