2012-07-19 29 views
4

我在我的網站上使用ruby on rails 3,並且幾乎完成,該網站將於很快(星期一)即將上線,但我遇到了與IE7兼容性問題,所以作爲一種臨時措施,我希望用戶如果使用IE7將其重定向到「404」esque頁面,它將只具有一些基本信息,說明現在嘗試使用另一個瀏覽器,直到問題得到解決爲止。當用戶通過IE7訪問時將用戶重定向到消息頁面

我將如何在軌道3中做這個?過去有沒有人做過這樣的事情?我不想進入我應該/不應該我支持IE7,我要去,只是要花費一點時間比我還以爲

任何幫助讚賞

+0

謝謝所有提供了答案的人,所有非常有用的 – Richlewis 2012-07-19 14:38:21

回答

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

作爲一種臨時措施,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?

+0

這是否會在我的應用/佈局文件中像我的樣式表/ JavaScripts的其餘部分一樣?謝謝你的回答,順便問一下 – Richlewis 2012-07-19 14:29:54

+0

不是問題。不,這將在你的application.html.erb文件中進行。主要的if循環只針對IE瀏覽器顯示,所以你可以將它放在文件的任何位置,但我建議將它放在''標籤之前。 – 2012-07-19 14:33:11

+0

噢,是啊!謝謝,我的小學生錯誤 – Richlewis 2012-07-19 14:34:02

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'將成爲你指向的頁面的路徑名。

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> 

拋出代碼在您的登錄頁面(或母版頁,等等),你應該感傷d去。

附註:不知道爲什麼代碼格式化所有愚蠢的。猜測StackOverflow在特定條件下奇怪地解析斜線

相關問題