您好我已经确定了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'的版本。
手的任何机会?
答案 0 :(得分:1)
正如你所指出的,你真的不应该这样做。但是,如果您对此进行设置,请注意您的状况检查已关闭:
navigator.appName
解析为&#34; Microsoft Internet Explorer&#34;,而不是&#34; Internet Explorer&#34;就像你写的那样。
此外,第一个字符navigator.appVersion
不会为您提供浏览器的版本。在IE 10中,它解析为&#34; 5.0(兼容; MSIE 10.0; Windows NT 6.1; WOW64; Trident / 6.0;&#34;
要使代码正常工作,您需要将其更新为:
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"
}
从How can you detect the version of a browser?
复制的功能请重新考虑这样做。你是否难以设计HTML5元素?考虑使用html5shiv:https://code.google.com/p/html5shiv/
答案 1 :(得分:-3)
你可能会错过分号(编辑:不是必需的,但大多数解析器都能更好地使用它们)?
另外,查看版本字符串,你只需要调用'ver'字符串的第一个字符,你将它与一个大于那个字符串的字符串进行比较(看看opera '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>