我有两个脚本可以做我想要的,但我需要将它们组合起来。基本上如果有“美国”的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()
答案 0 :(得分:1)
这是获取cookie值的一种更简单的方法:
var language = document.cookie.replace(/.*\bLanguage=(\w+)\b.*/, "$1");
if (language == "US") document.location = whatever;
你何时/何时实际调用“GetGeo”功能?