javascript - 实现这个功能的js怎样写?
大家讲道理
大家讲道理 2017-04-10 16:13:26
[JavaScript讨论组]

英文网站是 www.abc.com 中文网站是cn.abc.com ,在www的网页里面加了如下的代码判断ip自动跳转。现在想实现这样的功能(网站头部有中英|文标示),判断ip自动跳转,但是用户能够自己选择语言,比如中国的用户访问 www.abc.com 会自动跳转到 cn.abc.com ,但当用户点击选择英文时,会停留在英文网页,不会强制跳转。请问这样的JS怎么写?求个详细的代码,谢谢!

<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&quot; charset="GB2312" ></script>
<script type=text/javascript>
if(remote_ip_info.country =='中国'){
window.location.href="http://cn.abc.com";
}else{
window.location.href="http://www.abc.com";
}
</script>

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
巴扎黑

if(remote_ip_info.country =='中国'&&user_select_english==""){
window.location.href="http://cn.abc.com";
}else{
window.location.href="http://www.abc.com"

当用户选择英文版
设定cookie: 名:user_select_english;值:true
setcookie("user_select_english","true")

迷茫

前端跳转不仅带宽和服务器资源,还严重影响用户体验,应该让服务器返回 302 进行跳转

PHPz

其实你如果要给用户跳转到不同的语言站点的话,你没必要通过IP归属地去判断,你直接用“navigator.language”也就是浏览器语言判断。

var chinaUrl = 'http://www.abc.com';
var globalURl = 'http://global.abc.com';
var isGlobalUser = !(/^zh/.test(navigator.language));
var curIsGlobal = (location.protocol+'//'+location.host)===globalURl;
var cookieLocation = $.cookie('force_location');
//先判断用户有没有指定地区
if(cookieLocation=='china'){
    curIsGlobal && (windows.location = chinaUrl);
}else if(cookieLocation=='global'){
    curIsGlobal || (windows.location = globalURl);
}else if(isGlobalUser && !curIsGlobal){
    windows.location = globalURl;
}else if(!isGlobalUser && curIsGlobal){
    windows.location = chinaUrl;
}

然后,你在用户强制指定地区的时候,设置一下force_location,china为国内,global为全球站就行了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号