![](/img/trans.png)
[英]How to detect older version of browser and redirect to browser support page
[英]Browser version detect and redirect
嗨,我已经确定了HTML5 / CSS3元素,这些元素会导致较旧的浏览器在我的网站上遇到麻烦。 我知道反对使用此方法进行重定向,但是我认为这对我很好。 在论坛上尝试了此方法以及其他一些方法,并且我正在使用IE8.0.6001.18702进行测试,并且未重定向
<script type="text/javascript">
<!--
browser = navigator.appName
ver = navigator.appVersion
version = ver.substring(0,1)
if (browser=="Internet Explorer") {
if (version<="8.1")
document.location.href="lores.htm"
}
if (browser=="Safari") {
if (version<="6.0")
document.location.href="lores.htm"
}
if (browser=="Firefox") {
if (version<="5.0")
document.location.href="lores.htm"
}
if (browser=="Chrome") {
if (version<="15.0")
document.location.href="lores.htm"
}
if (browser=="Opera") {
if (version<="11.10")
document.location.href="lores.htm"
}
//-->
</script>
因此,该操作似乎无济于事,因此我可以提出一些建议。 我已经包含了这个示例,以显示要重定向到基本网站的“ lores.htm”版本。
有机会吗?
正如您指出的那样,您实际上不应该这样做。 但是,如果对此进行了设置,请注意,条件检查已关闭:
navigator.appName
解析为“ Microsoft Internet Explorer”,而不是您所写的“ Internet Explorer”。
同样,第一个字符navigator.appVersion
不会为您提供浏览器的版本。 在IE 10中,它解析为“ 5.0(兼容; MSIE 10.0; Windows NT 6.1; WOW64; Trident / 6.0;”
为了使代码正常工作,您需要将其更新为以下内容:
function get_browser_version(){
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[1];
}
var browser = navigator.appName;
var version = get_browser_version();
if (browser=="Microsoft Internet Explorer") {
if (version<="8.1")
document.location.href="lores.htm"
}
复制自的功能: 如何检测浏览器的版本?
请重新考虑这样做。 您在样式HTML5元素时遇到困难吗? 考虑使用html5shiv: https : //code.google.com/p/html5shiv/
您可能会错过分号吗?( 编辑:不是必需的,但是大多数解析器可以更好地使用它们)?
另外,检查版本字符串,您只获取被称为“ ver”的字符串的第一个字符,将其与大于该字符串的字符串进行比较(请查看歌剧“ 11.10”)。 您应该在第一个空格(应该在完整的版本号之后)子字符串。
<script type="text/javascript">
browser = navigator.appName;
ver = navigator.appVersion;
version = ver.substring(0, ver.indexOf(' '));
if (browser == "Internet Explorer") {
if (version <= "8.1")
document.location.href = "lores.htm";
}
if (browser == "Safari") {
if (version <= "6.0")
document.location.href = "lores.htm";
}
if (browser == "Firefox") {
if (version <= "5.0")
document.location.href = "lores.htm";
}
if (browser == "Chrome") {
if (version <= "15.0")
document.location.href = "lores.htm";
}
if (browser == "Opera") {
if (version <= "11.10")
document.location.href = "lores.htm";
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.