Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测旧版本的浏览器并重定向到浏览器支持页面_Javascript_Jquery_Detection_Browser Detection - Fatal编程技术网

Javascript 如何检测旧版本的浏览器并重定向到浏览器支持页面

Javascript 如何检测旧版本的浏览器并重定向到浏览器支持页面,javascript,jquery,detection,browser-detection,Javascript,Jquery,Detection,Browser Detection,如果IE更新代码。现在它可以正常工作了 /* *浏览器检测脚本 */ BrowserDetect=(函数(){ //脚本设置 变量选项={ 是的, minorBrowserVersion:正确 }; //浏览器数据 var browserData={ 浏览器:{ chrome:uaMatch(/chrome\/([0-9\.]*)/), firefox:uaMatch(/firefox\/([0-9\.]*)/), safari:uaMatch(/Version\/([0-9\.]*).*sa

如果IE更新代码。现在它可以正常工作了

/*
*浏览器检测脚本
*/
BrowserDetect=(函数(){
//脚本设置
变量选项={
是的,
minorBrowserVersion:正确
};
//浏览器数据
var browserData={
浏览器:{
chrome:uaMatch(/chrome\/([0-9\.]*)/),
firefox:uaMatch(/firefox\/([0-9\.]*)/),
safari:uaMatch(/Version\/([0-9\.]*).*safari/),
opera:uaMatch(/opera\/.*版本\/([0-9\.]*)/,/opera\/([0-9\.]*)/),
msie:uaMatch(/msie([0-9\.]*)/,/Trident.*rv:([0-9\.]*)/)
},
发动机:{
webkit:uaContains('AppleWebKit'),
三叉戟:uaMatch(/(MSIE | trident)/),
gecko:uaContains('gecko'),
presto:uaContains('presto')
},
平台:{
赢:uaMatch(/Windows NT([0-9\.]*)/),
mac:uaMatch(/mac OS X([0-9\.]*)/),
linux:uaContains('X11','linux')
}
};
//执行检测
var ua=navigator.userAgent;
var检测数据={
平台:detectItem(browserData.platforms),
浏览器:detectItem(browserData.browsers),
引擎:检测(browserData.engines)
};
//私人职能
函数uaMatch(regExp、altReg){
返回函数(){
var结果=regExp.exec(ua)| altReg&&altReg.exec(ua);
返回结果&&result[1];
};
}
函数(word){
var args=Array.prototype.slice.apply(参数);
返回函数(){
对于(变量i=0;i}());您可以简单地使用已经制作好的东西,例如。只需从github下载即可。编写自己版本的轮子通常更容易、更好

编辑:由于您在评论中提供了更多信息,并且“哪个broser”使用了一些php,而您使用的是asp,因此下面是一个使用jquery的纯javascript解决方案:

您还可以使用jquery重定向:

$(location).attr('href','http://examplesite.com/whatever.html');
var nVer=navigator.appVersion;
var nAgt=navigator.userAgent;
var browserName=navigator.appName;
var fullVersion=''+parseFloat(navigator.appVersion);
var majorVersion=parseInt(navigator.appVersion,10);
变量名称偏移量,verOffset,ix;
//在Opera 15+中,真实版本在“OPR/”之后
如果((verOffset=nAgt.indexOf(“OPR/”)!=-1){
browserName=“Opera”;
fullVersion=nAgt.子字符串(verOffset+4);
}
//在旧歌剧中,真正的版本在“歌剧”或“版本”之后
否则如果((verOffset=nAgt.indexOf(“Opera”)!=-1){
browserName=“Opera”;
fullVersion=nAgt.子字符串(verOffset+6);
如果((verOffset=nAgt.indexOf(“版本”)!=-1)
fullVersion=nAgt.子字符串(verOffset+8);
}
//在MSIE中,真实版本在userAgent中的“MSIE”之后
否则如果((verOffset=nAgt.indexOf(“MSIE”)!=-1){
browserName=“Microsoft Internet Explorer”;
fullVersion=nAgt.substring(verOffset+5);
}
//在Chrome中,真正的版本在“Chrome”之后
否则如果((verOffset=nAgt.indexOf(“Chrome”)!=-1){
browserName=“Chrome”;
fullVersion=nAgt.子字符串(verOffset+7);
}
//在Safari中,真实版本在“Safari”或“version”之后
否则如果((verOffset=nAgt.indexOf(“Safari”)!=-1){
browserName=“Safari”;
fullVersion=nAgt.子字符串(verOffset+7);
如果((verOffset=nAgt.indexOf(“版本”)!=-1)
fullVersion=nAgt.子字符串(verOffset+8);
}
//在Firefox中,真正的版本在“Firefox”之后
else if((verOffset=nAgt.indexOf(“Firefox”)!=-1){
browserName=“Firefox”;
fullVersion=nAgt.子字符串(verOffset+8);
}
//在大多数其他浏览器中,“name/version”位于userAgent的末尾
如果((nameOffset=nAgt.lastIndexOf(“”)+1)<
(verOffset=nAgt.lastIndexOf('/'))
{
browserName=nAgt.substring(nameOffset,verOffset);
fullVersion=nAgt.子字符串(verOffset+1);
if(browserName.toLowerCase()==browserName.toUpperCase()){
browserName=navigator.appName;
}
}
//在分号/空格处修剪fullVersion字符串(如果存在)
如果((ix=fullVersion.indexOf(“;”)!=-1)
fullVersion=fullVersion.substring(0,ix);
如果((ix=fullVersion.indexOf(“”)!=-1)
fullVersion=fullVersion.substring(0,ix);
majorVersion=parseInt(“”+fullVersion,10);
如果(isNaN(主要版本)){
fullVersion=''+parseFloat(navigator.appVersion);
majorVersion=parseInt(navigator.appVersion,10);
}

警报(“名称:“+browserName+”版本“+majorVersion”)
我保留的条件是什么,我的意思是,我如何检测,这是较早版本的浏览器,正如我前面提到的检测版本,因此,需要重定向?无法使其工作。当我添加这个脚本时,你能分享详细信息吗。它会像这样在html上添加类,现在我有更新代码来回答。请用它。希望它对您没有使用正确的浏览器有用。Mac上的Chrome显示Safari。在Android 4.2上,它说ChromeI正在使用ASP.NET应用程序。请顾
if ( $.browser.msie ) {
    alert( $.browser.version );
}
$(location).attr('href','http://examplesite.com/whatever.html');