geo_ip.js 不工作
geo_ip.js is not working
我正在使用 "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 for new link, this link 抛出 401 错误。
我还检查了新 API here 但这对我也不起作用。 JS Link 有效但 geoip_country_code() is undefined
如何让它再次工作 !!!!这里是fiddle
谢谢
实际上,您可能错过了控制台中的一条消息:
Users of the GeoIP2 JavaScript API must register their domains at
https://www.maxmind.com/en/javascript_domains
库加载失败,因为向 js.maxmind.com
域发出了一个请求,使用您当前的主机名(fiddle.jshell.net
在您的例子中)作为引荐来源网址,以确保客户端实际上正在制作一个来自授权主机名的请求。
遗憾的是,Maxmind 不提供 geoip api 到
http://j.maxmind.com/app/geoip.js
不再。虽然它提供了另一个 api as
http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js
但是根据 Maxmind 的网站,它需要域注册等。下面的 link 是旧 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);
}
});
更新:
我意识到这个答案仍然很有吸引力。请注意,自从我写这篇文章以来已经有好几年了。我分享的 URL 似乎不再起作用了。现在也有更好的方法来处理这个问题。
大家好,我正在使用此脚本,但我不知道为什么当我尝试重定向时 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>
我正在使用 "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 for new link, this link 抛出 401 错误。
我还检查了新 API here 但这对我也不起作用。 JS Link 有效但 geoip_country_code() is undefined
如何让它再次工作 !!!!这里是fiddle
谢谢
实际上,您可能错过了控制台中的一条消息:
Users of the GeoIP2 JavaScript API must register their domains at https://www.maxmind.com/en/javascript_domains
库加载失败,因为向 js.maxmind.com
域发出了一个请求,使用您当前的主机名(fiddle.jshell.net
在您的例子中)作为引荐来源网址,以确保客户端实际上正在制作一个来自授权主机名的请求。
遗憾的是,Maxmind 不提供 geoip api 到
http://j.maxmind.com/app/geoip.js
不再。虽然它提供了另一个 api as
http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js
但是根据 Maxmind 的网站,它需要域注册等。下面的 link 是旧 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);
}
});
更新: 我意识到这个答案仍然很有吸引力。请注意,自从我写这篇文章以来已经有好几年了。我分享的 URL 似乎不再起作用了。现在也有更好的方法来处理这个问题。
大家好,我正在使用此脚本,但我不知道为什么当我尝试重定向时 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>