今天遇到一个问题。
要求我们网站如果是国内用户就播放优酷视频,如果是国外用户就播放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
一波三折。。