您好我在这里通过回答找到了如何获取客户端IP: Can I perform a DNS lookup (hostname to IP address) using client-side Javascript?
但我不明白如何使用它。
这就是我所拥有的:
var user;
if ($('#user-id').length) {
user = $('#user-id').text();
} else {
http://jsonip.appspot.com/?callback=getip
function getip(json){
user = json.ip;
}
}
我不明白如何包含网址以及如何使用getip功能。
我需要将用户设置为else中的ip地址。
谢谢!
答案 0 :(得分:4)
使用jQuery,您可以进行JSONP调用:
$.getJSON('http://jsonip.appspot.com/?callback=?',
function(data){
alert(data.ip);
});
可能更容易理解 - 没有jQuery的替代方案是:
<script type="text/javascript">
function getip(data){
alert(data.ip);
}
</script>
<script type="text/javascript" src="http://jsonip.appspot.com/?callback=getip">
</script>
请注意,当您在HTML中包含http://jsonip.appspot.com/?callback=getip作为脚本时,您会获得有效的JavaScript作为回复:
getip({"ip": "147.234.2.5", "address":"147.234.2.5"});
该行使用适当的参数执行您的函数。请注意,函数的名称由查询字符串提供。
答案 1 :(得分:0)
您只能通过JavaScript访问您的域,除非您与iframes进行通信,否则无法使用JavaScript进行跨域通信。 德尔>
如果您有动态后端,如PHP,Java,Python,Ruby,CGI等,您可以轻松地从访问您页面的用户那里获取IP地址。每种语言都有自己的机制。
答案 2 :(得分:0)
您的javascript语法中有一个随机的,自由浮动的网址。
这是如何使用jquery进行远程JSON请求。
http://api.jquery.com/jQuery.getJSON/
我建议你更熟悉一般的javascript。
答案 3 :(得分:0)
您可以使用以下内容:
<script type="text/javascript">
var userip;
</script>
...
<script type="text/javascript" src="http://l2.io/ip.js?var=userip"</script>
...
<script type="text/javascript">
document.write("Your IP is :", userip);
</script>
以下是此库的网址:http://l2.io/