Javascript v10之前的Internet Explorer转到错误处理程序

Javascript v10之前的Internet Explorer转到错误处理程序,javascript,html,web,Javascript,Html,Web,我在php页面的内容中包含了以下内容: <script> if ($.browser.msie && parseInt($.browser.version) < 10) { console.log('You need v10 of IE or greater to use this app'); alert("You are using an outdated browser and will be redirected"

我在php页面的内容中包含了以下内容:

<script>
    if ($.browser.msie && parseInt($.browser.version) < 10)
    {
      console.log('You need v10 of IE or greater to use this app');
      alert("You are using an outdated browser and will be redirected");
      window.location.href = 'error.php';
    }
</script>

if($.browser.msie&&parseInt($.browser.version)<10)
{
log('使用此应用程序需要IE v10或更高版本');
警报(“您使用的是过时的浏览器,将被重定向”);
window.location.href='error.php';
}
基本上,我希望所有使用MicrosoftInternetExplorer9或更低版本的访问者都转到error.php页面,该页面声明我希望他们安装版本10

我所面临的问题是,除非我转到开发人员部分,并实例化模仿版本7、8和9的兼容性功能,否则这不起作用,然后它就起作用了-只是带着一个旧版本去我的网站,它只是加载,而不显示消息/重定向


有没有人有什么想法或者是我的代码错了?谢谢查看。

您可以使用HTML条件。把这样的东西放在你的身体里:

<!--[if lt IE 10]>
<script type="text/javascript">
    window.location = "http://yourbrowserisold.com";
</script>
<![endif]-->

您可以使用HTML条件。把这样的东西放在你的身体里:

<!--[if lt IE 10]>
<script type="text/javascript">
    window.location = "http://yourbrowserisold.com";
</script>
<![endif]-->

您应该避免测试特定浏览器,而是测试应用程序工作所需的特定功能。然后,如果他们没有这些功能,则向他们显示错误

这是针对您未考虑的浏览器的保护措施

您可以使用函数测试功能,如果功能不存在,函数将返回false

您可以使用该站点构建Modernizer版本,该版本只测试您需要的功能

--编辑--


我告诉过你什么不能做,但没有告诉你为什么。在下面的评论中,Chris提出了一个很好的观点——浏览器嗅探是不可靠的。关于这一点,您阅读了很多页面,但当前的最佳实践表明不要这样做:)

您应该避免测试特定浏览器,而是测试应用程序工作所需的特定功能。然后,如果他们没有这些功能,则向他们显示错误

这是针对您未考虑的浏览器的保护措施

您可以使用函数测试功能,如果功能不存在,函数将返回false

您可以使用该站点构建Modernizer版本,该版本只测试您需要的功能

--编辑--


我告诉过你什么不能做,但没有告诉你为什么。在下面的评论中,Chris提出了一个很好的观点——浏览器嗅探是不可靠的。关于这一点,您读了很多页,但当前的最佳实践表明不要这样做:)

从代码中删除这一行

console.log('You need v10 of IE or greater to use this app');

console.log与旧的IE版本不兼容…

请从代码中删除此行

console.log('You need v10 of IE or greater to use this app');

console.log与旧的IE版本不兼容…

可能与此有关:请注意,
$.browser
已弃用,不建议使用(它已完全从最新版本的jQuery中删除)。您应该使用功能检测而不是浏览器检测来确定用户的浏览器是否能够显示您的页面。走开。给微软钱买新版本的Windows。花半天时间升级你的电脑。只有到那时你才有资格浏览我的网站嗯,我知道我对此的反应……可能与此有关:请注意,
$.browser
已被弃用,不建议使用(它已从jQuery的最新版本中完全删除)。您应该使用功能检测而不是浏览器检测来确定用户的浏览器是否能够显示您的页面。走开。给微软钱买新版本的Windows。花半天时间升级你的电脑。只有到那时你才有资格浏览我的网站好吧,我知道我对此的反应是……我同意。但我不知道PHP是如何测试浏览器版本、类型等的。但MSFT已经决定做与WebKit引擎相同的事情,并说它是Mozilla,以欺骗像这样过时的浏览器检查,因为它符合标准等。因此,您甚至可能没有检查正确的浏览器。“我不知道PHP如何测试浏览器版本、类型等”-它做得很差。我同意这一点。但我不知道PHP是如何测试浏览器版本、类型等的。但MSFT已经决定做与WebKit引擎相同的事情,并说它是Mozilla,以欺骗像这样过时的浏览器检查,因为它符合标准等。因此,您甚至可能没有检查正确的浏览器。“我不知道PHP如何测试浏览器版本、类型等”-它做得很差。