【发布时间】:2011-09-28 20:02:00
【问题描述】:
我正在使用 javascript 来确定访问者的 IP 地址。无论出于何种原因,它都适用于 Chrome,而不适用于 Firefox、IE 或其他浏览器。
这是我的代码:
function getIPAddress() {
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("GET", "http://api.hostip.info/get_html.php", false);
xmlHttp.send();
var hostipInfo = xmlHttp.responseText.split("\n");
for (var i = 0; i < hostipInfo.length - 1; i++) {
var ipAddress = hostipInfo[i].split(":");
if (ipAddress[0] == "IP") return ipAddress[1];
}
return "unknown";
}
在我工作的公司,我是一名代理人。这可能是代理问题,还是此代码有问题?谢谢。
刚刚将我的代码部署到我们的测试环境中,在 IE 中,我收到一个弹出窗口,提示“此页面正在访问不受其控制的信息。这会带来安全风险。你想继续吗?'如果我说,是的,它有效。如果我说,不,它不会。
【问题讨论】:
-
您尝试过 POST 方法吗?可能是缓存问题。
-
两件事:如果它在来自“hostip.info”以外的域的页面中运行,由于基本的浏览器安全规则,它将无法工作,并且(2)你不需要等待ajax 请求无论如何都要完成。
标签: javascript ip