我正在为我的网站使用 ruby on rails 3 并且快完成了,该网站很快就会上线(星期一),但我遇到了 IE7 兼容性问题,所以作为临时措施,我想让用户重定向到“404”式页面,如果他们使用的是 IE7,它只会有一些基本信息说明现在尝试其他浏览器,直到问题得到解决
我将如何在 Rails 3 中解决这个问题?过去有没有人做过这样的事情?我不想进入我应该/应该支持 IE7 的话题,我要去,只是比我想象的要花一点时间
对此的任何帮助表示赞赏
我正在为我的网站使用 ruby on rails 3 并且快完成了,该网站很快就会上线(星期一),但我遇到了 IE7 兼容性问题,所以作为临时措施,我想让用户重定向到“404”式页面,如果他们使用的是 IE7,它只会有一些基本信息说明现在尝试其他浏览器,直到问题得到解决
我将如何在 Rails 3 中解决这个问题?过去有没有人做过这样的事情?我不想进入我应该/应该支持 IE7 的话题,我要去,只是比我想象的要花一点时间
对此的任何帮助表示赞赏
你可以做一个脚本来重定向:
<!--[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]-->
或者干脆留言说本站不支持
如果你能够使用 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' 将是您指向的页面的路径名。
作为临时措施,带有 Javascript 重定向的 IE 条件是否有效?
<!--[if IE 7]>
<script type="text/javascript">
window.location = "/upgrade_browser.html";
</script>
<![endif]-->
一点点的 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 在某些条件下会奇怪地解析斜线