javascript判断是否为国内(国外)用户

今天遇到一个问题。

要求我们网站如果是国内用户就播放优酷视频,如果是国外用户就播放youbube视频

于是我google和百度了下。

首先的思路是想判断是什么浏览器然后执行相应代码

<!–<script>
var UA=navigator.userAgent;
if(!+[1,])

alert(“这是ie浏览器”);
else alert(“这不是ie浏览器”);
if(UA.toLowerCase().indexOf(‘360se’)>-1)
alert(“这是360浏览器”);
else alert(“这不是360浏览器”);
if(UA.toLowerCase().indexOf(‘M’)>-1)
alert(“这是Chrome浏览器”);
else alert(“这不是Chrome浏览器”);
alert(UA);

</script> –>

后面没有成功,判断浏览器需要太多了。

然后想判断ie版本,因为国内一般用ie浏览器

<!–
<script language=”javascript”>
if(window.XMLHttpRequest)//判断浏览器是否属于Mozilla,Sofari
{
alert(“firefox”);
}
else if(window.ActiveXObject)//判断浏览器是否属于IE
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=b_version.split(“;”);
var trim_Version=version[1].replace(/[ ]/g,””);
if(browser==”Microsoft Internet Explorer” && trim_Version==”MSIE7.0″)
{
alert(“IE 7.0″);
}
else if(browser==”Microsoft Internet Explorer” && trim_Version==”MSIE6.0″)
{
alert(“IE 6.0”);
}
}
</script>–>

后来发现不行,我用ie7测试结果显示是火狐浏览器。无语

还有这段,也是不行

<!–<script type=”text/javascript”>

function browserinfo(){
var Browser_Name=navigator.appName;
var Browser_Version=parseFloat(navigator.appVersion);
var Browser_Agent=navigator.userAgent;

var Actual_Version,Actual_Name;

var is_IE=(Browser_Name==”Microsoft Internet Explorer”);
var is_NN=(Browser_Name==”Netscape”);

if(is_NN){
//upper 5.0 need to be process,lower 5.0 return directly
if(Browser_Version>=5.0){
var Split_Sign=Browser_Agent.lastIndexOf(“/”);
var Version=Browser_Agent.indexOf(” “,Split_Sign);
var Bname=Browser_Agent.lastIndexOf(” “,Split_Sign);

Actual_Version=Browser_Agent.substring(Split_Sign+1,Version);
Actual_Name=Browser_Agent.substring(Bname+1,Split_Sign);
}
else{
Actual_Version=Browser_Version;
Actual_Name=Browser_Name;
}
}
else if(is_IE){
var Version_Start=Browser_Agent.indexOf(“MSIE”);
var Version_End=Browser_Agent.indexOf(“;”,Version_Start);
Actual_Version=Browser_Agent.substring(Version_Start+5,Version_End)
Actual_Name=Browser_Name;

if(Browser_Agent.indexOf(“Maxthon”)!=-1){
Actual_Name+=”(Maxthon)”;
}
else if(Browser_Agent.indexOf(“Opera”)!=-1){
Actual_Name=”Opera”;
var tempstart=Browser_Agent.indexOf(“Opera”);
var tempend=Browser_Agent.length;
Actual_Version=Browser_Agent.substring(tempstart+6,tempend)
}
}
else{
Actual_Name=”Unknown Navigator”
Actual_Version=”Unknown Version”
}
/*——————————————————————————
–Your Can Create new properties of navigator(Acutal_Name and Actual_Version) —
–Userage:                                                                     —
–1,Call This Function.                                                        —
–2,use the property Like This:navigator.Actual_Name/navigator.Actual_Version;–
——————————————————————————*/
navigator.Actual_Name=Actual_Name;
navigator.Actual_Version=Actual_Version;

/*—————————————————————————
–Or Made this a Class.                                                     —
–Userage:                                                                  —
–1,Create a instance of this object like this:var browser=new browserinfo;–
–2,user this instance:browser.Version/browser.Name;                        —
—————————————————————————*/
this.Name=Actual_Name;
this.Version=Actual_Version;
}
browserinfo();

document.write(“你使用的浏览器是:”+navigator.Actual_Name+”,版本号:”+navigator.Actual_Version);
</script>–>

行的来了:

<script type=”text/javascript” language=”javascript”>
var Browser_Agent=navigator.userAgent;
//浏览器为ie的情况
if(Browser_Agent.indexOf(“MSIE”)!=-1){
var a=navigator.browserLanguage;
if(a !=”zh-cn”){
location.href=”cn网站”;
}
}
//浏览器非ie的情况
else{
var b=navigator.language;
if(b!=”zh-CN”){
location.href=”英文网站”;
}
}

</script>

这个是判断你浏览器语言是否为中文。如果是中文就跳转到你中文网站,否则跳转到英文

这个是不错。

最后我觉定用php和ip判断。

下面是我的html代码:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>ip test</title><script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js”></script>
</head>

<body>

<body>
<script type=”text/javascript” language=”javascript”>
function initurl() {
$.ajax({
type:”GET”,
url:”/ip/checkip.php”,
dataType:”html”,
data:”&time=”+new Date(),
cache: false,
async: false,
beforeSend:function(XMLHttpRequest) {

},
success:function(msg) {
//如果返回值为1表示访问者为中国地区的ip
if(msg == 1){
$(“.en”).hide();
$(“.cn”).show();
//alert(‘I am China ip’);
}
else {
//alert(‘I am not China ip’);
//location.href=”英文网站”;
$(“.cn”).hide();
$(“.en”).show();
}
},
complete:function(XMLHttpRequest,textStatus) {

},
error:function() {

}
});
}

</script>

<body  onload=”initurl()”>
<div>cncccccccccccccccccccccccccccccccn</div>
<div>enenenenenenenenenenenenen</div>

</body>

</body>
</html>

这是php代码:

<?php
$userip=$_SERVER[‘REMOTE_ADDR’];
include_once(‘iplimit.class.php’);
$iplimit = new iplimit;
if($iplimit->setup($userip))
{
echo 1;
}
else
{
echo 2;
}
?>

这边引用了一个ip库。大家可以下载!!点击这里下载

然后就大功告成!!可以在html代码里面修改你需要的功能。爱干嘛就干嘛了。已经判断好国内ip或者是国外ip;在if里面。

最后实现了我需要的功能。

上图:

网址:http://www.cityofsteam.com/

这过程中还遇到很多问题:请看:http://shanmao.me/?p=193

还有http://shanmao.me/web/jquery/jquery%E5%AE%9E%E7%8E%B0%E4%BC%98%E9%85%B7%E8%A7%86%E9%A2%91%E5%88%87%E6%8D%A2%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE

“javascript判断是否为国内(国外)用户”的一个回复

评论已关闭。