2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > js获取唯一设备码_前端JS获取设备IP地址和唯一标识

js获取唯一设备码_前端JS获取设备IP地址和唯一标识

时间:2022-02-05 19:07:37

相关推荐

js获取唯一设备码_前端JS获取设备IP地址和唯一标识

获取设备IP地址

function getIPs(callback) {

var ip_dups = {};

//compatibility for firefox and chrome

var RTCPeerConnection = window.RTCPeerConnection

|| window.mozRTCPeerConnection

|| window.webkitRTCPeerConnection;

//bypass naive webrtc blocking

if (!RTCPeerConnection) {

var iframe = document.createElement("iframe");

//invalidate content script

iframe.sandbox = "allow-same-origin";

iframe.style.display = "none";

document.body.appendChild(iframe);

var win = iframe.contentWindow;

window.RTCPeerConnection = win.RTCPeerConnection;

window.mozRTCPeerConnection = win.mozRTCPeerConnection;

window.webkitRTCPeerConnection = win.webkitRTCPeerConnection;

RTCPeerConnection = window.RTCPeerConnection

|| window.mozRTCPeerConnection

|| window.webkitRTCPeerConnection;

}

var mediaConstraints = {

optional: [{RtpDataChannels: true}] };

//firefox already has a default stun server in about:config

// media.peerconnection.default_iceservers =

// [{"url": "stun:stun."}] var servers = undefined;

//add same stun server for chrome

if(window.webkitRTCPeerConnection)

var servers = {iceServers: [{urls: "stun:stun."}]};

//construct a new RTCPeerConnection

var pc = new RTCPeerConnection(servers, mediaConstraints);

//listen for candidate events

pc.onicecandidate = function(ice){

//skip non-candidate events

if(ice.candidate){

//match just the IP address

var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/

var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];

//remove duplicates

if(ip_dups[ip_addr] === undefined)

callback(ip_addr);

ip_dups[ip_addr] = true;

}

};

//create a bogus data channel

pc.createDataChannel("");

//create an offer sdp

pc.createOffer(function(result){

//trigger the stun server request

pc.setLocalDescription(result, function(){}, function(){});

}, function(){});

},

getIPs(function(ip){

// alert("本机IP地址为:"+ ip);

});

获取设备唯一标识(需要借助hbuilder生成的app壳)

plusReady(){

alert( "uuid: "+plus.device.uuid );

},

if(window.plus){

plusReady();

}else{

document.addEventListener("plusready",plusReady,false);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。