我在我的網站上使用ruby on rails 3,並且幾乎完成,該網站將於很快(星期一)即將上線,但我遇到了與IE7兼容性問題,所以作爲一種臨時措施,我希望用戶如果使用IE7將其重定向到「404」esque頁面,它將只具有一些基本信息,說明現在嘗試使用另一個瀏覽器,直到問題得到解決爲止。當用戶通過IE7訪問時將用戶重定向到消息頁面
我將如何在軌道3中做這個?過去有沒有人做過這樣的事情?我不想進入我應該/不應該我支持IE7,我要去,只是要花費一點時間比我還以爲
任何幫助讚賞
我在我的網站上使用ruby on rails 3,並且幾乎完成,該網站將於很快(星期一)即將上線,但我遇到了與IE7兼容性問題,所以作爲一種臨時措施,我希望用戶如果使用IE7將其重定向到「404」esque頁面,它將只具有一些基本信息,說明現在嘗試使用另一個瀏覽器,直到問題得到解決爲止。當用戶通過IE7訪問時將用戶重定向到消息頁面
我將如何在軌道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]-->
或者乾脆離開的消息說,這個網站不支持
作爲一種臨時措施,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?
這是否會在我的應用/佈局文件中像我的樣式表/ JavaScripts的其餘部分一樣?謝謝你的回答,順便問一下 – Richlewis 2012-07-19 14:29:54
不是問題。不,這將在你的application.html.erb文件中進行。主要的if循環只針對IE瀏覽器顯示,所以你可以將它放在文件的任何位置,但我建議將它放在'
'標籤之前。 – 2012-07-19 14:33:11
噢,是啊!謝謝,我的小學生錯誤 – Richlewis 2012-07-19 14:34:02
如果你能夠使用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應該照顧這一個。
這裏是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>
拋出代碼在您的登錄頁面(或母版頁,等等),你應該感傷d去。
附註:不知道爲什麼代碼格式化所有愚蠢的。猜測StackOverflow在特定條件下奇怪地解析斜線
謝謝所有提供了答案的人,所有非常有用的 – Richlewis 2012-07-19 14:38:21