我正在使用"http://j.maxmind.com/app/geoip.js"
进行多语言网站支持,但this link会导致404错误。
这是错误
Failed to load resource: the server responded with a status of 404 (Not Found)
www.globalenglish.com/:913 Uncaught ReferenceError: geoip_country_code is not defined
chrome-extension://gllmlkidgbagkcikijiljllpdloelocn/contentscript.js:1849 www.globalenglish.com
getuid:1 GET https://api.bizographics.com/v2/getuid?api_key=422935bcbfc445d59f10758c288c…I%252bJLufjW0EE6tV4BHMF43u8yA9qpnPTK8G7tGxJuiy5ReJz%252fscH55wHNbnsJU%253d 403 (Forbidden)
我检查site here 是否有新链接,this link会抛出401错误。
我还检查了新的API here但这对我来说也不起作用。 JS Link工作但geoip_country_code() is undefined
如何让它再次运作!!!!这是fiddle
谢谢
答案 0 :(得分:4)
不幸的是,Maxmind并没有通过
提供geoip apihttp://j.maxmind.com/app/geoip.js
了。虽然它提供了另一个api
http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js
然而,根据Maxmind的网站,它需要域名注册等。下面的链接是旧api的克隆,现在有效约一年。
http://geoapi123.appspot.com/
我刚刚将其用于开发阶段的一个项目,以便快速解决问题。但我强烈建议您再次根据可信赖的服务更新您的代码。
一个工作jsfiddle,展示在here上可以发挥的作用;它显示了这段代码:
$.ajax( {
type: 'GET',
url: '//geoapi123.appspot.com/',
dataType: 'script',
cache: true,
success: function() {
var geo = geoip_country_code() + '|' + geoip_region_name() + '|' + geoip_city() + '|' + geoip_latitude() + '|' + geoip_longitude();
$('#results').html(geo);
}
});
答案 1 :(得分:1)
实际上,您可能错过了控制台中的消息:
GeoIP2 JavaScript API的用户必须在其中注册其域名 https://www.maxmind.com/en/javascript_domains
加载库失败,因为向js.maxmind.com
域发出请求,并将当前主机名(在您的情况下为fiddle.jshell.net
)作为引荐来源,以确保客户端实际发出请求授权主机名。
答案 2 :(得分:1)
我正在使用此脚本,但是我不知道为什么当我尝试重定向时HTTPS不起作用..仅适用于HTTPS
$.ajax({
url: "http://api.petabyet.com/geoip",
success: function(data) {
switch (data.country_code) {
case 'DE':
window.location.href = "https://google.com/de";
break;
}
}
})
</script>