根据国家/地区调用javascript

时间:2014-02-08 21:21:18

标签: javascript jquery redirect

我正在尝试根据用户所在国家/地区调用一些JavaScript代码。我找到了一项服务,但它对我不起作用。它不会加载我的JavaScript。当我将if语句更改为if(country ==“US”)时,它甚至不会加载警报消息。这就是我所拥有的。

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>

<script language="JavaScript">
var country= geoip_country_code();

if(country != "US") {
var iLoader={
    init:function(){
        var headID = document.getElementsByTagName("head")[0];         
        var scrNode = document.createElement('script');
        scrNode.type = 'text/javascript';
        scrNode.id = 'iLoader';
        scrNode.src = 'https://scriptIWantToRun.js';
        headID.appendChild(scrNode);    
    }
}
}
</script>
iLoader.init();

这是javascript我以前如何使用它并且它有效。但是我发现美国&amp;加拿大游客不需要此信息,只有国际用户。所以我想为美国和CAN用户禁用它。在此先感谢您的帮助!

var iLoader={
    init:function(){
        var headID = document.getElementsByTagName("head")[0];         
        var scrNode = document.createElement('script');
        scrNode.type = 'text/javascript';
        scrNode.id = 'iLoader';
        scrNode.src = 'https://scriptIWantToRun.js';
        headID.appendChild(scrNode);    
    }
}
iLoader.init();

我使用以下代码简化了它并使其工作。但是,我需要它来加载JavaScript而不是给我一个消息。我不确定我做错了什么,因为我希望它能调用我之前的代码。

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>

<script language="JavaScript">
var country= geoip_country_code();

if(country == "CA") {
alert("Hello World");
}
</script>

http://jsfiddle.net/kWhud/

2 个答案:

答案 0 :(得分:1)

我已经测试了你的代码。 Ir工作:var国家/地区有正确的ISO代码。你的if语句也是对的。

据我了解,你只想要像这样的人:http://jsfiddle.net/dehisok/kWhud/1/

iLoader.init();

对我来说,你错过了这段代码。您刚刚使用init方法定义了一些对象,但需要运行它来加载所需的javascript文件。

哟可以删除

 console.log(scrNode);

并且您的代码将以所需的方式工作。

答案 1 :(得分:0)

您可以使用不需要任何javascript的重定向服务。其中一个是redirectbycountry.com