问题描述
- 同一域名访问 两个web 项目
-
例如 我有两个网站 www.goods.ph 为pc版的。 mobile.goods.ph 为手机版的。现在有一个需求就是 我在不同的设备上能访问到不同的项目。例如在手机端输入www.goods.ph 访问的是手机版网站。同时同一商品链接,在不同的设备上也能访问到同一商品.请各位大牛们给予帮助。。。
解决方案
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
nokia: u.toUpperCase().indexOf("NOKI") > -1, //nokia
symbian: u.toUpperCase().indexOf("SYMBIAN") > -1, //symbian
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/Mobile/), //是否为移动终端||!!u.match(/AppleWebKit/)
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
linux: u.indexOf('Linux') > -1,
android: u.indexOf('Android') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
surface: u.indexOf('Trident') > -1 && u.indexOf('Touch') > -1 && u.indexOf('Tablet PC') > -1, //是否surface
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
if ((browser.versions.mobile && browser.versions.android)
|| (browser.versions.mobile && navigator.userAgent.indexOf('iPhone')>-1)
|| (browser.versions.mobile && browser.versions.nokia)
|| (browser.versions.nokia && browser.versions.symbian)) {
//window.location='./m';//手机客户端
window.location='index_blue.jsp';//pc portal
} else if ((browser.versions.mobile && navigator.userAgent.indexOf('iPad')>-1)) {
window.location='index_blue.jsp';//平板客户端
} else if (!browser.versions.mobile && browser.versions.android) {
window.location='index_blue.jsp';//平板客户端
//} else if (!browser.versions.mobile && browser.versions.surface) {
//window.location='./t';//平板客户端
} else {
window.location='index_blue.jsp';//pc portal
}
解决方案二:
用js判断客户端类型,进行域名跳转就可以了
解决方案三:
在你的web服务器上根据user agent字段去判断浏览器的类型。