vue中获取客户端IP地址

摘要:
ice||!ice.candidate||!
vue中获取客户端IP地址

获取ip方法

vue中获取客户端IP地址第1张vue中获取客户端IP地址第2张
export functiongetUserIP(onNewIP) {
  let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection ||window.webkitRTCPeerConnection;
  let pc = newMyPeerConnection({
    iceServers: []
  });
  let noop = () =>{
  };
  let localIPs ={};
  let ipRegex = /([0-9]{1,3}(.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g;
  let iterateIP = (ip) =>{
    if (!localIPs[ip]) onNewIP(ip);
    localIPs[ip] = true;
  };
  pc.createDataChannel('');
  pc.createOffer().then((sdp) =>{
    sdp.sdp.split('
').forEach(function(line) {
      if (line.indexOf('candidate') < 0) return;
      line.match(ipRegex).forEach(iterateIP);
    });
    pc.setLocalDescription(sdp, noop, noop);
  }).catch((reason) =>{
  });
  pc.onicecandidate = (ice) =>{
    if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
    ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
  };
}
getUserIP

调用getUserIP获取ip

<template>
    <h1>{{ ip }}</h1>
</template>
<script>import getUserIP from './utils'export default{
    data() {
      return{
        ip: ''};
    },
    methods: {
      
    },
    mounted() {
      getUserIP((ip) =>{
        this.ip =ip;
      });
    }
  }
</script>
<style lang="scss" scoped>
</style>

免责声明:文章转载自《vue中获取客户端IP地址》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Redis使用以『公众号』为例,手把手教你爬取PC端数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux安装最新版Vue或者指定版本

ubuntu安装最新版Vue或者指定版本 首先已经安装了node.js 使用命令查看 $: node -v v10.17.0 再使用如下命令: npm install -g @vue/cli 安装后查看: $: vue -V @vue/cli 4.3.1 安装制定版本: #这个命令是百度的具体没有用过 npm install -g @vue/cli...

vue2使用echarts markLine中的symbol引入png图片路径问题解决过程

在刚刚的开发中有个需求,需求是这样的:需要一条markLine标记线,标记线的顶端形状为实心箭头,且颜色和markLine标记线颜色不一致,这个箭头的方向会有一个接口返回的参数控制箭头在markLine标记线的首端还是末端, 如下图所示: 刚开始用的是echarts提供的默认配置(ECharts 提供的标记类型包括 'circle', 'rect', '...

vue元素显示隐藏 vif 和 vshow 指令

v-if 和 v-show在vue中,v-if 和 v-show 会根据接收 true/false 信息使得页面上元素达到显示或隐藏的效果。 语法: <标签 v-if="true/false"></标签> <标签 v-show="true/false"></标签> <!--true:显示 false:隐...

VUE集成keycloak和Layui集成keycloak

一:KEYCLOAK配置部分:   1,下载keycloak,官网地址:https://www.keycloak.org/downloads.html。下载第一个就行        2,下载完毕之后,打开文件,访问 bin 路径,点击 standalone.bat 打开,打开之后大概如下:             3,然后访问:http://localho...

vue 动态加载图片路径报错解决方法

最近遇到图片路径加载报错的问题 之前一直都是把图片放到assets的文件下的。总是报错,看到一些文章并且尝试成功了,特意记录下 首先先说明下vue-cli的assets和static的两个文件的区别,因为这对你理解后面的解决办法会有所帮助  assets:在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img sr...

vue开发环境和生产环境的跨域

前端在生产环境跨域 一,开发环境跨域 1.配置代理 如果使用vue-cli搭建的项目,可以直接使用proxyTable模块,项目框架已经集成在config -> index.js 页面配置proxyTable,如下: proxyTable: { '/api':{ //开发坏境下:target 里的地址是你跨域请求的...