Javascript Cookie和重定向问题

时间:2010-01-26 19:50:37

标签: javascript redirect function cookies

我有两个脚本可以做我想要的,但我需要将它们组合起来。基本上如果有“美国”的cookie,那么让用户浏览美国站点。但是,如果不存在cookie,那么我希望它根据位置运行Geo重定向。他们都在那里工作,但我不能为我的生活让它先做cookie部分然后如果没有cookie运行geo重定向。任何帮助都会非常庞大​​。感谢。

这是我的两个独立脚本:

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>

<script language="Javascript" type="text/javascript">
<!--
function ReadCookie() {
var NameOfCookie="Language";
if(document.cookie.length > 0)
{
begin = document.cookie.indexOf(NameOfCookie+"=");
if(begin != -1)
{
// our cookie was set.
// The value stored in the cookie is returned from the function
begin += NameOfCookie.length + 1;
end = document.cookie.indexOf(";",begin);
if(end == -1) end = document.cookie.length;
language=(document.cookie.substring(begin,end));
if (language==="US")document.location.href='http://www.site.com';
}
}
}
function SetCookie(cookieName,cookieValue) {
var today = new Date();
var expire = new Date();
var nDays=365
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)
+ ";expires="+expire.toGMTString();
}
//-->
</script>

<script language="Javascript" type="text/javascript">
function GetGeo() {
var country = geoip_country_code();
if(country=="GB")      
{
window.location = "http://uk.site.com"
}
else if(country=="FR")      
{
window.location = "http://fr.site.com"
}
}
</script>

然后我做body onload = ReadCookie()

1 个答案:

答案 0 :(得分:1)

这是获取cookie值的一种更简单的方法:

var language = document.cookie.replace(/.*\bLanguage=(\w+)\b.*/, "$1");
if (language == "US") document.location = whatever;

你何时/何时实际调用“GetGeo”功能?