开发时偶尔会需要前端传客户端的ip地址,以下方法可以获取客户端外网ip
1、新增加载js方法
export const loadScript = (src) => {
return new Promise((resolve, reject) => {
const script = document.createElement('script')
const head = document.getElementsByTagName('head')[0];
script.type = 'text/javascript';
script.charset = 'UTF-8';
script.src = src;
if (script.addEventListener) {
script.addEventListener('load', function () {
resolve();
}, false);
} else if (script.attachEvent) {
script.attachEvent('onreadystatechange', function () {
const target = window.event.srcElement;
if (target.readyState == 'loaded') {
resolve();
}
});
}
head.appendChild(script);
})
}
2、调用loadScript,传入http://pv.sohu.com/cityjson?ie=utf-8,同步方法获取ip地址。
由于加载js属于异步方法,所以要使用await,或者使用回调的方式获取
await loadScript(`http://pv.sohu.com/cityjson?ie=utf-8`)
ip = window.returnCitySN['cip']