_document.getElementById
_やNameなどのAPIで要素にアクセスできるようにHTML5ビデオ要素を動的に作成することはできますが、Webページに表示されない場合があります。
div.hide()
またはその方向の何かのようなものですか?
あなたが試すことができます
var video = document.createElement('video');
video.src = 'urlToVideo.ogg';
video.autoplay = true;
ソースを設定する前に、canPlayType
メソッドを使用して、使用するビデオ形式がブラウザでサポートされているかどうかを確認することもできます
if (video.canPlayType('video/ogg').length > 0) {
/* set some video source */
}
このメソッドは、ブラウザに応じてmaybe
またはperhaps
を返します。空の文字列の場合、再生できないことを意味します。
APIを使用してvideo
を使用できるようになりました。グローバルに保存するだけです。後でDOMに挿入できます。お役に立てれば。
JSを使用するだけですべてを作成できます。 html本文で事前に作成する必要はありません。
JSで動画要素を作成する簡単な方法を次に示します。
var videlem = document.createElement("video");
/// ... some setup like poster image, size, position etc. goes here...
/// now, add sources:
var sourceMP4 = document.createElement("source");
sourceMP4.type = "video/mp4";
sourceMP4.src = "path-to-video-file.mp4";
videlem.appendChild(sourceMP4);
//// same approach add ogg/ogv and webm sources
これを行う前に、ブラウザがビデオ要素をサポートしているかどうか、またサポートしている場合は、再生できるファイル形式を確認する必要があります。これは次の方法で実行できます。
var supportsVideoElement = !!document.createElement('video').canPlayType;
次に、ビデオ要素がサポートされている場合、再生できるビデオ形式をテストします。
var temp = document.createElement('video');
var canPlay_MP4 = temp.canPlayType('video/mp4; codecs="avc1.42E01E,mp4a.40.2"');
var canPlay_OGV = temp.canPlayType('video/ogg; codecs="theora,vorbis"');
var canPlay_WEMB = temp.canPlayType('video/webm; codecs="vp8,vorbis"');
この後、JSのみを使用し、適切なビデオソースを設定して、ビデオ要素をページに追加できます。行を追加する必要があるサーバー側の.htaccessに問題がある可能性があります。
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
これは、サーバーの設定方法によっては必要ない場合がありますが、サーバーからのビデオの再生で問題が発生した場合でも、たとえば、開発マシンのローカルホスト、これは問題を解決できます。上記の行を含む.htaccessは、サーバー側のビデオファイルがあるフォルダーに配置する必要があります。
さて、この要素をgetElementById(...)で使用可能にするには、作成時に要素のidを設定するだけです。
var videlem = document.createElement("video");
videlem.id = "xxxxxx";
そして今、あなたは後でそれを使用してそれを見つけることができます:
var videlem = document.getElementById("xxxxxx");
ただし、誰かがすでにコメントしているように、既に要素を作成し、それを指す変数がある場合は、これを行う必要はありません...直接使用するだけです。
お役に立てれば :-)
これを達成するための更新された(そして最も簡単な)方法(Google検索がここをリードしているため):
var x = document.createElement("VIDEO");
if (x.canPlayType("video/mp4")) {
x.setAttribute("src","movie.mp4");
} else {
x.setAttribute("src","movie.ogg");
}
x.setAttribute("width", "320");
x.setAttribute("height", "240");
x.setAttribute("controls", "controls");
document.body.appendChild(x);