我有一个javascript重定向脚本。当该国是美国时重定向。
<script>
function determineCountry(data){
switch(data.address.country_code){
case "US" :
document.location.href = "http://xxxxxxxx.biz/theme.php";
break;
}
}
</script>
<script type="text/javascript" src="http://api.wipmania.com/jsonp?callback=determineCountry"></script>
现在我想要的是与此相反。比如当国家是美国时不要运行脚本。
提前致谢
答案 0 :(得分:0)
如果国家/地区是&#39;请执行break
。更改document.location.href
default
部分中的switch
。
function determineCountry(data){
switch(data.address.country_code){
case "US" :
break;
default:
document.location.href = "http://xxxxxxxx.biz/theme.php";
}
}
答案 1 :(得分:0)
如果条件为真,则会发生切换。也就是说,在您的情况下,如果data.address.country_code == "US"
案件将被解雇。
如果没有找到满足条件的情况,将使用默认情况(如果设置了一个) 如果您希望重定向几个国家/地区而不是全部,请将这些国家/地区添加到交换机,即应该重定向的国家/地区,否则您只需将其删除。
function determineCountry(data){
switch(data.address.country_code){
case "SE" :
document.location.href = "http://xxxxxxxx.biz/theme.php";
break;
}
}
determineCountry('SE'); // Will redirect.
determineCountry('US'); // Will not redirect.
determineCountry('CZ'); // Will not redirect.
您还可以添加要重定向到列表的所有国家/地区,并使用单个if执行此操作:
var codesToRedirectOn = ['SE', 'IT'];
function redirectIfCountry(code) {
if(codesToRedirectOn.indexOf(code) !== -1) {
// Redirect.
}
// Don't redirect (i.e., do nothing).
}
需要注意的重要一点是,在客户端执行逻辑时,客户端代码始终掌握在客户端。如果客户愿意,客户可以轻松绕过重定向代码 如果您希望它更安全,重定向应该在页面加载之前在服务器端完成。