判断访客是境外还是境内然后跳转至不同页面

2024-03-05
有中英文网站的公司,可能会遇到一个 问题,就是国内与国外用户访问不同的页面。一般方法有两种,一种是使用判断ip是国内还是国外,另外一种就是判断用户浏览器的语言是否中文。

判断访客是境外还是境内然后跳转至不同页面

使用Javascript判断用户浏览器是否是中文版本:

//方法一

var type = navigator.appName;
if (type == "Netscape") {
	var lang = navigator.language;
} else {
	var lang = navigator.userLanguage;
}

var lang = lang.substr(0, 2);
if (lang == "zh") {
	location.href = "/404.html";
}
//方法二

window.onload = function () {
	WebLocation();
}
function WebLocation () {
	//判断浏览器的首选语言
	var language = navigator.language;
	if (language == "zh-CN") {
		location.href = "中文网址";
	} else {
		location.href = "英文网址";
	}
}

 

php判断当前访问的是在国内还是在国外

 /** * 使用淘宝接口 判断ip * @param $ip * @return bool */
   public function judgeIpByTaobao($ip) { 
      
       $url = "http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
       $res = file_get_contents($url);
       if (!empty($res)) {
          $ipData = json_decode($res,true);
          if ($ipData['code']==0 && in_array($ipData['data']['country_id'],['CN','HK','TW'])) {
              return true;
          }
       }
       return false;
   }

 

 

Javascript判断访客是境外还是境内

// 导入ip-country库(需要提前安装)
const ipCountry = require('ip-country');
 
// 获取访客的IP地址
function getVisitorIp() {
    // 这里可以根据不同的服务器配置选择合适的方式获取IP地址
}
 
// 调用函数获取访客的IP地址
let visitorIp = getVisitorIp();
 
// 查询访客的国家信息
let countryInfo = ipCountry.get(visitorIp);
 
if (countryInfo) {
    let isDomestic = false;
    
    if (countryInfo === 'CN') {
        console.log("访客位于中国");
        isDomestic = true;
    } else {
        console.log(`访客位于${countryInfo}`);
    }
    
    console.log(`访客是否为境内? ${isDomestic ? "是" : "否"}`);
} else {
    console.log("无法确定访客的国家信息");
}

注意:上述代码依赖了第三方库 ip-country,因此需要先运行 npm install ip-country 命令来安装该库。WINDOWS下可以去GITHUB上找到直接下载。

本文地址:

转载请注明出处,谢谢!

声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。

评论()
昵称 验证码
RELATION
UPC CODE算法原理以及如何使用PHP和JAVASCRIPT生成通用的UPC CODE
马斯克开源Grok-1:3140亿参数迄今最大,附下载地址
编程记录 Recommend
UPC CODE算法原理以及如何使用PHP和JAVASCRIPT生成通用的UPC CODE
02/23 105
判断访客是境外还是境内然后跳转至不同页面
03/05 55