[〜#〜] edit [〜#〜]私はいくつかのJavascriptを変更しました。そのため、HTML5ビデオのサポートを検出するjavascript関数が見つかった場合、動作します。
フラッシュフォールバックを備えたHTML5ビデオプレーヤーがあります。HTML5がサポートされていない場合は、フラッシュにフォールバックします。現在使用中
<!--[if !IE]><!--> then load my custom player else use SWFObject to render it.
以下を行うことは可能ですか?
` If (HTML5 supported browser) {
<some html and script> (My custom player)
}else{
<different html and script> (I would call SWFobject here)
}
`
ニースの簡単な解決策のアイデアを見つけようとしています。
通常、追加の<object>
は動画タグに含まれていますが、プレーヤーへのページの挿入方法が原因でこれは不可能です。
おそらく信頼できない方法でHTML5サポートを検出できますが、サポートの出力に基づいてHTMLをどのように持つかはわかりません。
http://www.modernizr.com/docs/#features-css をご覧になりましたか?
機能検出を行うことができます
より良い解決策は、 Modernizr のようなものを使用して、クライアント側で機能検出を行うことです。Modernizrは、多くのHTML5およびCSS3機能のサポートを検出するMITライセンスのオープンソースのJavaScriptライブラリです。ブラウザがキャンバスAPIをサポートしていない場合、Modernizr.canvasプロパティはfalseになります。
if (Modernizr.canvas) {
// let's draw some shapes!
} else {
// no native canvas support available :(
}
JQueryを使用している場合の別のソリューション:HTML 5のcanvas要素のサポートの確認
var test_canvas = document.createElement("canvas") //try and create sample canvas element
var canvascheck=(test_canvas.getContext)? true : false //check if object supports getContext() method, a method of the canvas element
alert(canvascheck) //alerts true if browser supports canvas element
ワンライナーチェック...
// Plain JavaScript
(typeof document.createElement('canvas').getContext === "function")
// Or... Using lodash
_.isFunction(document.createElement('canvas').getContext)
Dive into HTML5 のすべてをチェックしてください。特に「Detecting HTML5 Techniques」セクション。必要なものはほぼすべて揃っています。