1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%
  3. ResourceBundle resource = ResourceBundle.getBundle("config");
  4. String ctx = request.getContextPath();
  5. request.setAttribute("ctx", ctx);
  6. %>
  7. <!-- <html lang="en" style="min-height: 100%;overflow: hidden">
  8. <head lang="zh-cn">
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  10. <meta content="MSHTML 6.00.2800.1106" name="GENERATOR">
  11. </head>
  12. <body> -->
  13.  
  14. <!--<form id="formfoo" name="formbar" action="#" method="post" style="display:none">
  15. <input value="00:05:5D:0E:C7:FA" name="txtMACAddr">
  16. <input value="192.168.30.68" name="txtIPAddr">
  17. <input value="lzf" name="txtDNSName">
  18. </form>-->
  19. <!-- </body>
  20. </html> -->
  21.  
  22. <!--[if !IE]> -->
  23. <!-- <![endif]-->
  24.  
  25. <script type="text/javascript">
  26.  
  27. $(function () {
  28. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  29. var isOpera = userAgent.indexOf("Opera") > -1;
  30. if (userAgent.indexOf("Chrome") > -1){
  31. gooleGetIP();
  32. return "Chrome";
  33. }
  34. if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
  35. ieGetIP();
  36. return "IE";
  37. };
  38. });
  39. function gooleGetIP(){
  40. function getUserIP(onNewIP) { // onNewIp - your listener function for new IPs
  41. //compatibility for firefox and chrome
  42. var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
  43. var pc = new myPeerConnection({
  44. iceServers: []
  45. }),
  46. noop = function() {},
  47. localIPs = {},
  48. ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
  49. key;
  50.  
  51. function iterateIP(ip) {
  52. if (!localIPs[ip]) onNewIP(ip);
  53. localIPs[ip] = true;
  54. }
  55.  
  56. //create a bogus data channel
  57. pc.createDataChannel("");
  58.  
  59. // create offer and set local description
  60. pc.createOffer().then(function(sdp) {
  61. sdp.sdp.split('\n').forEach(function(line) {
  62. if (line.indexOf('candidate') < 0) return;
  63. line.match(ipRegex).forEach(iterateIP);
  64. });
  65.  
  66. pc.setLocalDescription(sdp, noop, noop);
  67. });
  68.  
  69. //sten for candidate events
  70. pc.onicecandidate = function(ice) {
  71. if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
  72. ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
  73. };
  74. }
  75.  
  76. // Usage
  77.  
  78. getUserIP(function(ip){
  79. //alert("Got IP! :" + ip);
  80. $.ajax({
  81. url:"${ctx}/system/saveUserLoginIP",
  82. data:{loginIp:ip},
  83. type:"post",
  84. dataType:"json",
  85. async:false, //同步
  86. success:function(data){
  87. console.log(data.data);
  88. },
  89. error:function(data){
  90. alert(data);
  91. }
  92. });
  93. });
  94. };
  95.  
  96. function ieGetIP() {
  97.  
  98. }
  99. </script>
  100.  
  101. <object id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></object>
  102. <object id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></object>
  103.  
  104. <script language="JScript">
  105. var service = locator.ConnectServer();
  106. var MACAddr;
  107. var IPAddr;
  108. var DomainAddr;
  109. var sDNSName;
  110. service.Security_.ImpersonationLevel = 3;
  111. service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
  112. </script>
  113. <script language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
  114. /* document.forms[0].txtMACAddr.value = unescape(MACAddr);
  115. document.all.txtIPAddr.value = unescape(IPAddr);
  116. document.forms[0].txtDNSName.value = unescape(sDNSName); */
  117. //alert(unescape(IPAddr));
  118. $.ajax({
  119. url:"${ctx}/system/saveUserLoginIP",
  120. data:{loginIp:unescape(IPAddr)},
  121. type:"post",
  122. dataType:"json",
  123. async:false, //同步
  124. success:function(data){
  125. console.log(data.data);
  126. },
  127. error:function(data){
  128. alert(data);
  129. }
  130. });
  131. </script>
  132. <script language="JScript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
  133. if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) {
  134. if(objObject.MACAddress != null && objObject.MACAddress != "undefined") {
  135. MACAddr = objObject.MACAddress;
  136. }
  137. if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined") {
  138. IPAddr = objObject.IPAddress(0);
  139. }
  140. if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined") {
  141. sDNSName = objObject.DNSHostName;
  142. }
  143. }
  144. </script>

在页面获取本地电脑IP的更多相关文章

  1. 细说Web页面与本地电脑通讯

    话说在很久很久以前.Web页面与客户的本地电脑Localhost通讯,有两种方式: 1.Flash 2.ActiveX控件 由于Flash本人不是很了解,也给出不了什么示例代码, 对于ActiveX控 ...

  2. java Socket 获取本地主机ip

    package cn.itcast.net.p1.ip; import java.net.InetAddress;import java.net.UnknownHostException; publi ...

  3. win、mac系统配置本地电脑ip为域名教程

    win系统: 如何修改hosts文件 主机文件原内容如下: #Copyright(c)1993-2009 Microsoft Corp. # #这是Windows的Microsoft TCP / IP ...

  4. netcore 获取本地网络IP地址

    .net framework 下面可以用下面的代码获取到本地网络ip地址.netcore下面这个代码也依然可以用 System.Net.Dns.GetHostName() System.Net.Dns ...

  5. 获取本地的IP地址(内网)

    方法一 public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = N ...

  6. C#如何获得本地电脑IP

    using System; using System.Collections.Generic; using System.Text; using System.Net;   //需要引用.Net命名空 ...

  7. 查询本地电脑IP地址

    使用Windows+R键打开"运行"窗口,然后输入CMD进入命令提示窗口 进入命令窗口之后,输入:ipconfig/all 回车即可看到整个电脑的详细的IP配置信息

  8. 如何查看本地电脑ip

    1.快捷键 win+R打开命令窗口 输入 ipconfig查看你电脑的ip 2.输入netstat -an ,查看当前所有连接端口,显示所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ...

  9. 获取本地的ip,地址,code

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

随机推荐

  1. 【oracle】decode函数

    DECODE(参数,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 值1:当参数=值1    翻译值1:想要得到的值 值2:当参数=值2 翻译值2:想要得到的值

  2. ESA2GJK1DH1K升级篇: 升级STM32 预热: 单片机每隔一定时间 使用 http 获取天气

    前言: 实现功能概要: STM32使用AT指令控制Wi-Fi以TCP方式连接服务器(YY天气Web服务器),然后使用http的get协议获取今天的天气数据 单片机提取今天的温度和湿度数据,把温湿度数据 ...

  3. ajax有哪些方法可以实现跨域?他们都有哪些局限性?

    1.服务器端代理:在服务器端设置一个代理,由服务器端向跨域下的网站发出请求,再将请求结果返回给前端. 属于后端的技术,实现起来最麻烦. 2.jsonP,只支持get方式调用. 3.XHR2(cors) ...

  4. django -- 母版继承

    csrf_token 在之前我们提交post请求的时候,都是在setting.py文件里注释掉了 'django.middleware.csrf.CsrfViewMiddleware' 这一行,这是因 ...

  5. spark基础知识一

    1. spark是什么 Apache Spark™ is a unified analytics engine for large-scale data processing. spark是针对于大规 ...

  6. [Noip2018]填数游戏

    传送门 Description 耳熟能详,就不多说了 Solution 对于一个不会推式子的蒟蒻,如何在考场优雅地通过此题 手玩样例,发现对于 \(n=1\) , \(ans=2^m\) .对于 \( ...

  7. JS中 (function(){...})()立即执行函数

    (function(){...})() (function(){...}()) 这是两种js立即执行函数的常见写法. 基本概念: 函数声明:function fname(){...}; 使用funct ...

  8. C/C++ 交换两个数,不使用第三个变量, 函数模板来实现

    #include <iostream> template<typename T> void exchangeTwoNumber(T &t1, T &t2): v ...

  9. win10系统:VMware无法在Windows运行该怎么办?

     出现的问题: 解决方法: 点击“检查更新”或去官网下载最新版本 Vmware15.5.0(经过测试发现,Windows 10上面可以运行Vmware15.5.0 ) VMware Workstati ...

  10. eclipse&myeclipse 生成jar包后,spring无法扫描到bean定义

    问题:eclipse&myeclipse 生成jar包后,spring无法扫描到bean定义 在使用getbean或者扫包时注入bean失败,但在IDE里是可以正常运行的? 原因:导出jar未 ...