4

我正在为我的网站使用 ruby​​ on rails 3 并且快完成了,该网站很快就会上线(星期一),但我遇到了 IE7 兼容性问题,所以作为临时措施,我想让用户重定向到“404”式页面,如果他们使用的是 IE7,它只会有一些基本信息说明现在尝试其他浏览器,直到问题得到解决

我将如何在 Rails 3 中解决这个问题?过去有没有人做过这样的事情?我不想进入我应该/应该支持 IE7 的话题,我要去,只是比我想象的要花一点时间

对此的任何帮助表示赞赏

4

4 回答 4

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]-->

或者干脆留言说本站不支持

于 2012-07-19T14:26:12.187 回答
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' 将是您指向的页面的路径名。

于 2012-07-19T14:29:59.453 回答
1

作为临时措施,带有 Javascript 重定向的 IE 条件是否有效?

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

来源:Internet Explorer 浏览器版本用户代理的 Javascript 重定向?

于 2012-07-19T14:26:58.190 回答
1

一点点的 javascript 应该可以解决这个问题。

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

<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 在某些条件下会奇怪地解析斜线

于 2012-07-19T14:30:34.783 回答