记录一次js获取ip地址,经纬度
开始使用过很多的方法
const getLocalIP = async () => { const pc = new RTCPeerConnection(); pc.createDataChannel(''); const offer = await pc.createOffer(); await pc.setLocalDescription(offer); const localIP = pc.localDescription.sdp.match(/(?<=c=IN IP4 )\S+/)[0]; return localIP; }; console.log(await getLocalIP()); 127.0.0.0 获取的是网络的本地地址getLocalIP().then((ip) => { console.log(ip); }).catch((err) => { console.error(err); });
这里为了避免在控制台中出现错误 可以写为这种
还有就是使用的getCurrentPosition方法但是我们这个H5是准备放在企业微信内置浏览器中使用。
企业微信会默认阻止getCurrentPosition方法使用
// https://api.ipify.org?format=json // 获取自己ip地
// https://api.ip.sb/geoip // 获取ip以及归属地 const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onload = function() { if (this.status === 200) { const response = JSON.parse(this.responseText) const ip = response console.log(ip) } }; xhr.send()
通过接口的请求就不会受到企业微信的H5方法获取地址的限制,获取的是物理IP地址
标签:const,xhr,经度,pc,获取,ip,console From: https://www.cnblogs.com/tcyweb/p/17306764.html