Js根据Ip地址自动判断是哪个城市

JavaScript022

Js根据Ip地址自动判断是哪个城市,第1张

如果只是写浏览器端js的话,需要一个庞大的js问价的ip数据库

// 数据库

var database = {

'123.123.123.123': {

province: '北京市',

city: '北京市',

operators: '联通',

},

'123.123.123.124': {

province: '北京市',

city: '北京市',

operators: '联通',

}

// ...

}

// 主函数

var inquireIP = function (ip) {

if(database[ip]) {

return database[ip]

}else{

console.log('找不到ip:' + ip)

return null

}

}

// 调用

var ipData = inquireIP('123.123.123.123')

这样子这个js文件会很大,也可以调用API的形式,为方便下面js代码使用了jquery

// 主函数

var inquireIP = function (ip, callback) {

$.ajax({

url: '你的API接口地址',

type: 'GET',

dataType: 'jsonp',

data: {ip: ip}

})

.done(function(data) {

callback(data)

})

}

// 调用

inquireIP('123.123.123.123', function (data) {

console.log(data)

})

这样子就可以在服务端处理,当然提前你得有服务器,并搭建一个查询ip的API接口

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" /><title>原始窗口</title><style type="text/css"><!-- body,td,th { font-size: 12px} body { margin-left: 0pxmargin-top: 0pxmargin-right: 0pxmargin-bottom: 0px} #lockWindow { position:absolutetext-align:centerleft:0pxtop:0pxwidth:0height:0z-index:70background-color: #CCCCCCfilter:alpha(opacity=60)display:none} #MsgWindow { position:absolutetext-align:centerleft:0pxtop:0pxwidth:0height:0z-index:100display:none} --></style><script language="javascript">function lockWindow(){ window.open("b.asp","face","width=400,height=400,scrollbars=1") var lockDiv = document.getElementById("lockWindow")var MsgWindow = document.getElementById("MsgWindow")document.title="窗口已锁定"lockDiv.style.width=document.body.scrollWidthlockDiv.style.height=document.body.scrollHeightlockDiv.style.display="block"MsgWindow.style.top=document.body.clientHeight/4MsgWindow.style.left=document.body.clientWidth/3.5MsgWindow.style.display="block"} function unlockWindow(){ var lockDiv = document.getElementById("lockWindow")var MsgWindow = document.getElementById("MsgWindow")document.title="窗口已解除锁定"lockDiv.style.width=0lockDiv.style.height=0lockDiv.style.display="none"MsgWindow.style.display="none"} </script></head><body><div align="center"><div id="lockWindow"></div><div id="MsgWindow"><table width="403" border="0" cellspacing="1" bgcolor="#3399FF"><tr><td width="399" height="25" align="center" bgcolor="#3399FF">点击按钮解除窗口锁定</td></tr><tr><td height="100" bgcolor="#FFFFFF">当系统开始发布任务的时候,弹出一个窗口锁定当前的页面,提示“正在发布...”并显示发布的进度。当点取消或者发布任务完毕的时候,解除锁定然后跳转到指定页面,如何实现这种效果?</td></tr><tr><td align="center" bgcolor="#FFFFFF"><input type="button" name="Submit" value="解除锁定" onclick="unlockWindow()"></td></tr></table></div><p></p><form id="form1" name="form1" method="post" action=""><a href="#?locak=1" onclick="lockWindow()">aaaaaaa</a></form><p></p><p></p><p></p><p></p><p></p><p></p></div></body></html>

下面为使用JS获取MAC地址、IP地址及主机名的方法:

复制代码代码如下:

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/htmlcharset=gbk">

</head>

<body>

<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:nonevisibility:hidden"></object>

<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:nonevisibility:hidden"></object>

<form name="myForm">

<br/>MAC地址:<input type="text" name="macAddress">

<br/>IP地址:<input type="text" name="ipAddress">

<br/>主机名:<input type="text" name="hostName">

</form>

</body>

</html>

<script language="javascript">

var sMacAddr=""

var sIPAddr=""

var sDNSName=""

var service = locator.ConnectServer()

service.Security_.ImpersonationLevel=3

service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration')

</script>

<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">

if(objObject.IPEnabled != null &&objObject.IPEnabled != "undefined" &&objObject.IPEnabled == true){

if(objObject.IPEnabled &&objObject.IPAddress(0) !=null &&objObject.IPAddress(0) != "undefined")

sIPAddr = objObject.IPAddress(0)

if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")

sMacAddr = objObject.MACAddress

if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")

sDNSName = objObject.DNSHostName

}

</script>

<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">

myForm.macAddress.value=sMacAddr

myForm.ipAddress.value=sIPAddr

myForm.hostName.value=sDNSName

</script>