2012-09-07 17 views
0

有人可以幫我弄清楚如何構建回退設置?我需要通過iframe將HTML5動畫插入網頁,如果瀏覽器不支持HTML5,我需要它來播放Flash動畫。如果瀏覽器不支持HTML5,並且沒有安裝正確版本的Flash,我需要它才顯示一個jpeg。HTML5回落到Flash,然後又回落到JPG

這可以通過用戶代理來實現嗎?我不能通過使用條件語句來完成這項工作,因爲條件語句只檢查用戶是否使用IE,IE10「支持」HTML5(我諷刺地使用引號,事實上IE10確實很好,我根本不習慣有關IE的好話,但我離題)

有什麼想法?

+0

這應該已經爲你披上: http://modernizr.com/ –

回答

0

你有兩個不錯的選擇:

  1. HTML。 HTML自動忽略標籤不明白,所以燕窩的標籤來完成你想要什麼:

    <canvas> 
     <!-- stuff that works for canvas --> 
     <object class="flash-etc"> 
      <!-- flash parameters --> 
      <img src="/the/jpg" /> 
     </object> 
    </canvas> 
  1. 的JavaScript。使用Modernizr(http://modernizr.com/)檢測功能的存在。檢測瀏覽器製造商和版本是非常非常脆弱的。不要這樣做。而是檢測目標功能的存在並採取相應措施。搜索條件被稱爲「填充工具」

    if (Modernizr.canvas) { 
        // html5 here 
    } else if (/*test for flash */) { 
        // flash init here 
    } else { 
        // img here 
    } 
    
+0

現在我要去試試Modernizr的。我更喜歡那個。但是,檢測瀏覽器會出現問題的原因是什麼? –

+0

檢測瀏覽器類型或版本假定一些事情並不總是成立,比如瀏覽器在以後的版本中沒有實現,或者瀏覽器沒有說謊(Opera自稱是IE)。檢測功能的存在總是給你正確的答案。 – robrich