通过IE7访问时,将用户重定向到消息页面

时间:2012-07-19 14:20:42

标签: css ruby-on-rails-3 internet-explorer-7

我在我的网站上使用ruby on rails 3并且差不多完成了,该网站即将上线(星期一),但我遇到了IE7兼容性方面的问题,所以作为临时措施,我希望有用户重定向到“404”esque页面,如果他们使用IE7,它将只有一些基本信息说明现在尝试另一个浏览器,直到问题得到解决

我如何在rails 3中进行此操作?过去有人做过这样的事吗?我不想进入应该我/不应该支持IE7,我要去,只需要花费比我想象的更长的时间

对此赞赏的任何帮助

4 个答案:

答案 0 :(得分:13)

你可以做一个重定向的脚本:

<!--[if IE 7]>
  <script type="text/javascript">
    window.location = "http://www.google.com/";
  </script>
<![endif]-->

或者是html:

<!--[if IE 7]>
  <meta http-equiv="REFRESH" content="0;url=http://www.google.com/">
<![endif]-->

或者只是留言说这个网站不支持

答案 1 :(得分:2)

如果您能够使用jQuery,您可以进行简单的浏览器版本测试,然后重定向到相应的页面并设置cookie:

   //IE 7 browser detection
    if ($.browser.msie) {
        var version = $.browser.version;

        if (version == '7.0') {
            var cookie = $.cookie('IE7');

            if (cookie != 'set') {
                $.cookie('IE7', 'set');

                window.location = '404-url-string';

            }

            window.location = '404-url-string';

        }
    }

您还需要引入jquery cookie插件来设置cookie。 '404-url-string'将是您指向的页面的路径名。

答案 2 :(得分:1)

作为一种临时措施,IE有条件使用Javascript重定向吗?

  <!--[if IE 7]>
    <script type="text/javascript">
      window.location = "/upgrade_browser.html";
    </script>
 <![endif]-->

来源:Javascript redirect for Internet Explorer browser version user agent?

答案 3 :(得分:1)

一点点javascript应该处理这个。

这是JavaScript navigator对象的一个​​小演示:

<script type="text/javascript">

txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";

document.getElementById("example").innerHTML=txt;

</script>

请注意,这实际上是直接从W3Schools(我通常不推荐,但对于这个问题,它没关系)

无论如何,你会想要这样的东西:

<script type="text/javascript">
if(navigator.appName=="Internet Explorer" && navigator.appVersion == "7.0.Whatever") //maybe its "IE", I didn't actually check. Sorry lol, don't have time to test this out
{
    window.location.href = "YourErrorPageFileName";
}
</script>

将该代码丢入您的登录页面(或母版页,无论如何),您应该好好去。

旁注:不知道为什么代码格式化这样的哑巴。猜猜StackOverflow在某些条件下奇怪地解析斜杠