前端获取ip地址、获取经度、纬度
记录一次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方法但是我们这个放在企业微信内置浏览器中使用。
企业微信会默认阻止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地址
本文来自博客园,作者:樱桃树下的约定,转载请注明原文链接:https://www.cnblogs.com/tcyweb/p/17306764.html