我爲一個在線遊戲聯盟創建了一個網站,其中的問題在於它的頭部有一個應該自動播放的HTML5視頻。它在Chrome和Firefox中表現良好。在Internet Explorer中播放,但無法正確顯示,並且在Safari中根本不顯示。爲了解決這個問題,有什麼方法可以讓視頻在這些瀏覽器上替換爲標準圖像?還是有人有這兩個瀏覽器的修復?謝謝。如何根據瀏覽器替換頁面上的元素?
0
A
回答
1
你有幾個選擇,但請記住,沒有一個是防彈的,你的實現將取決於你正在編寫的代碼的類型(服務器端像PHP,或客戶端像JS)。
以下是一些建議,希望能讓您走上正確的道路。
- 您可以嘗試使用用戶代理字符串檢測瀏覽器服務器端。您可以手動解析字符串或(在我的建議中)使用內置的函數/庫。請參閱本主題的更多信息:
Code to parse user agent string?
那麼你會修改你的HTML輸出包含或不包含使用一組服務器端if
報表要素。
- 您可以使用JS在HTML呈現後檢測瀏覽器客戶端。這裏有幾個圖書館可以完成這項工作。您可能需要使用jQuery。
https://github.com/WhichBrowser/WhichBrowser
https://github.com/gabceb/jquery-browser-plugin
然後你可以使用類似的.show()/。藏起來()或一個.remove()jQuery函數修改HTML。
0
您可以使用下面的JavaScript代碼,找出瀏覽器的名稱和版本:基於
navigator.sayswho= (function(){
var ua= navigator.userAgent, tem,
M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
tem= /\brv[ :]+(\d+)/g.exec(ua) || [];
return 'IE '+(tem[1] || '');
}
if(M[1]=== 'Chrome'){
tem= ua.match(/\bOPR\/(\d+)/)
if(tem!= null) return 'Opera '+tem[1];
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');
})();
什麼你想接下來做的就是測試這個字符串中的值(如"IE 9"
)和輸出代碼一個if
子句。
相關問題
- 1. 如何根據瀏覽器用戶代理重定向頁面?
- 2. 根據頁面網址替換頁面上的文字
- 3. 根據頁面寬度顯示我的頁面上的元素
- 4. 根據頁面在頁面上的位置來操作元素
- 5. 根據瀏覽器更改網頁字體類型根據瀏覽器
- 6. 如何使用JavaScript瀏覽的HTML元素在同一頁面...
- 7. python:根據內容替換HTML元素
- 8. Android瀏覽器上的GCP Web元素
- 9. 根據在瀏覽器中打開的頁面設置課程?
- 10. 如何根據瀏覽器中的位置更改元素的背景
- 11. 根據尺寸獲取瀏覽器寬度並隱藏元素?
- 12. 提交按鈕上的網頁瀏覽器的HTML元素
- 13. 如何根據向量中的值替換元素?
- 14. 如何獲取網頁瀏覽器元素的CSS樣式?
- 15. 如何在所有瀏覽器頁面上打印跨瀏覽器兼容性?
- 16. WP7 - 在網頁瀏覽器上的元素?
- 17. 修復HTML頁面元素相對於瀏覽器Chrome
- 18. 如何使用jquery替換添加到頁面的新元素
- 19. TD元素在縮小的瀏覽器窗口上換行
- 20. HTML,調整瀏覽器大小時頁面上的停止元素
- 21. 從瀏覽器擴展中檢查頁面上的元素更改
- 22. 使用JavaScript替換頁面上的元素
- 23. 字體(根據瀏覽器)
- 24. 如何根據索引列表替換多個矢量元素
- 25. 如何合成DIV元素上的瀏覽器單擊事件?
- 26. ExtJS:如何根據手機瀏覽器製作面板全屏
- 27. 使用JQuery根據瀏覽器高度和另一個元素的高度爲元素設置頁邊距
- 28. 如何在瀏覽器中呈現PDF元素上的HTML元素
- 29. 聚合物 - Chrome瀏覽器元素瀏覽器中可見的內部元素
- 30. 如何刷新GridView頁面上的父瀏覽器窗口change
http://modernizr.com/這可以幫助您檢測瀏覽器,並解決許多問題。無論如何,應該從IE 9+和safari支持HTML 5視頻元素。自動播放是問題還是..?如果是這樣,你可以使用JavaScript解決它。 – briosheje 2014-10-07 16:24:59
modernizr用於功能檢測...不是瀏覽器檢測。 – 2014-10-07 16:26:01
@Paulie_D:他需要檢測瀏覽器是否首先支持HTML 5,不是嗎? – briosheje 2014-10-07 16:29:48