2

ブラウザの種類に基づいて、さまざまな映画形式で読み込む必要があります。具体的には、ユーザーがFirefoxを使用している場合は、.ocvビデオをロードする必要があります。

私は使用してみました:

alert(navigator.appName); 

しかし、これは常にchromeとfirefoxの両方で「Netscape」を返しますか?

より良い代替案はありますか?

乾杯

4

5 に答える 5

5

止まる!!!提案されたすべての解決策は、ウェブが壊れている理由です!

userAgentから正規表現した名前に基づいて、ブラウザがIE、Firefox、またはChromeであるという理由だけで、何かを実行できると思い込まないでください。UserAgentは偽造される可能性があり、偽造される可能性があります。手作業で機能検出を行うか、Modernizrのようなフル機能のものを使用します

あなたがやりたいことはjavascriptを介して提供されます。ブラウザがhtml5ビデオ再生を実行できるかどうかを確認するには;

var canHtml5Video=function(){
    return !!document.createElement("video").canPlayType;
}

ブラウザが特定のタイプ(mp4、ogg)を再生できるかどうかを確認するには、オーディオ/ビデオ要素のcanPlayTypeメソッドを使用します。

var elem=document.getElementsByTagName("video")[0];
if (elem.canPlayType("video/mp4")===""){
    //handle firefox and all browser that cant pay the mp4 royality fee
}
else{
    //handle mp4
}

または、ビデオ要素に複数のソース要素を追加することもできます。ブラウザは最適なものを選択します。

<video>
    <source src="http://....mp4" type="video/mp4" />
    <source src="http://....ocv" type="video/ogg" />
</video>
于 2012-10-10T11:48:10.127 に答える
1

alert(navigator.userAgent);を試してください。

詳細については、http ://www.w3schools.com/js/js_browser.aspをご覧ください。

于 2012-10-10T11:30:46.033 に答える
1

このようなものを使いたい

于 2012-10-10T11:30:56.140 に答える
0

navigator.userAgentブラウザの詳細を取得するために使用します

if (navigator.userAgent.toLowerCase().indexOf("firefox") > -1) {
    // Inside firefox
}

if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1) {
    // Inside chrome
}

if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
    // Inside IE
}
于 2012-10-10T11:53:03.970 に答える
-1

すなわち:

var ie = $.browser.msie;

Firefoxの場合:

var mozilla = $.browser.mozilla;

クロムの場合:

var chrome = $.browser.webkit && window.chrome;

サファリの場合:

var safari = $.browser.webkit && !window.chrome;
于 2012-10-10T11:32:46.497 に答える