我正在尝试根据用户所在国家/地区调用一些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>
答案 0 :(得分:1)
我已经测试了你的代码。 Ir工作:var国家/地区有正确的ISO代码。你的if语句也是对的。
据我了解,你只想要像这样的人:http://jsfiddle.net/dehisok/kWhud/1/
iLoader.init();
对我来说,你错过了这段代码。您刚刚使用init方法定义了一些对象,但需要运行它来加载所需的javascript文件。
哟可以删除
console.log(scrNode);
并且您的代码将以所需的方式工作。
答案 1 :(得分:0)
您可以使用不需要任何javascript的重定向服务。其中一个是redirectbycountry.com