我一直在使用HTML5,我似乎無法讓視頻在所有瀏覽器中都能很好地播放。 IE支持HTML5視頻,但當視頻播放時,綠色透明背景覆蓋視頻。如果您不知道在您的IE瀏覽器上播放此video。這裏是一個Imgur截圖,IE11。有沒有一種方法可以真正檢測Internet Explorer是PHP還是Javascript
所以我周圍的方式是我轉換的視頻到SWF文件並執行以下
<?php
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT'])) {?>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%" id="flow" align="middle" style="">
<param name="movie" value="/index.files/Flow_Double_Size_v01.swf" />
<param name="quality" value="high" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="/index.files/Flow_Double_Size_v01.swf" width="100%" height="100%">
<param name="movie" value="/index.files/Flow_Double_Size_v01.swf" />
<param name="quality" value="high" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
<?php }else{ ?>
<div class="video-container">
<video autoplay="autoplay" loop class="bg-1">
<source src="/index.files/html5video/Flow_Updates_MP4_Codec_v02.m4v" type="video/mp4">
<source src="/index.files/html5video/Flow_Updates_MP4_Codec_v02.ogv" type="video/ogg">
<source src="/index.files/html5video/Flow_Updates_MP4_Codec_v02.webm" type="video/webm">
</video>
</div>
<?php }; ?>
劇本所以我遇到的一個問題是飄飛閃光玩家不會被IE解釋,它只會播放任何東西,有一天播放下一個沒有。我會清除緩存並在我們的客戶端計算機上測試它,看看它們是否正在運行閃存攔截器,但它們不是。當我使用IE上的開發人員工具查看源代碼時,我發現條件語句甚至沒有被讀取。
我從CSS Tricks得到了PHP腳本我也更新,我在評論中發現有if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT'])) { }
如果有這種替代我將不勝感激腳本。我也嘗試了嵌入Flash的HTML5播放器的後備版本,但IE似乎沒有回落到它。我需要IE來特別播放SWF文件。
在你是依靠瀏覽器的誠實本身報告給你的代碼兩種情況。使用JS,您可以檢查JS引擎中是否有特定的功能。我會盡力找到一些資源。 – MonkeyZeus
http://stackoverflow.com/a/1042154/2191572並確保檢查評論50 +票或http://css-tricks.com/snippets/javascript/check-if-function-exists-before -calling/ – MonkeyZeus
@MonkeyZeus如何使用Modernizr?這對於檢測瀏覽器功能通常非常方便,您可以將其減小到只包含您需要的內容。雖然一般同意 - 檢測功能而不是檢查特定的瀏覽器是最好的方法。 –