これはコードです(私を殺さないでください、私はちょうどJavaScriptを勉強し始めました)... Firefox'errorsコンソールは私にエラー「Canvas is null」を返しますが、私はなぜか理解していない。私は多分それが悪い方法で変数IDを渡した原因かもしれないと思います。javascriptの「Canvas is null」エラー
<html>
<canvas id="c1">
Your browser doesn't support canvas!
</canvas>
<video style="display:none;" id="video1" controls height="600px" width="800px" >
<source src="videos/movie.mp4" type="vide/mp4" >
<source src="videos/movie.ogv" type='video/ogg; codecs="theora, vorbis"'/>
<source src="videos/movie.webm" type='video/webm' >
</video>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
video = document.getElementById("video1");
video.height = 600;
video.width = 400;
video.play();
aggiornacanvas("c1");
function aggiornacanvas(id) {
canvas = document.getElementById(id);
canvasContext = canvas.getContext("2d");
canvasContext.drawImage(video, 0, 0);
data = canvasContext.getImageData(0, 0, canvas.width, canvas.height);
//Modificare qui i dati dell'immagine
canvasContext.putImageData(data, 0, 0);
setTimeout(aggiornacanvas, 0);
}
}, false);
</script>
</html>
[OK]を、今では動作しますが、別のエラーがこの方法、それはない作品で
function aggiornacanvas(id)
{
canvas = document.getElementById(id);
canvasContext = canvas.getContext("2d");
canvasContext.drawImage(video,0,0);
var data = canvasContext.getImageData(0,0,canvas.width,canvas.height);
alert("ok");
canvasContext.putImageData(data,0,0);
setTimeout(aggiornacanvas(id),40);
}
があり、私は大丈夫一つだけの時間を取得...しかし、私は
function aggiornacanvas(id)
{
canvas = document.getElementById(id);
canvasContext = canvas.getContext("2d");
canvasContext.drawImage(video,0,0);
//var data = canvasContext.getImageData(0,0,canvas.width,canvas.height);
alert("ok");
//canvasContext.putImageData(data,0,0);
setTimeout(aggiornacanvas(id),40);
}
を書く場合
それは働く!問題は、私はラインが、それは彼らを聖霊降臨祭は動作しませんなぜ私は理解できないcorrenctであることを考えるということです:(
UPDATEDそれは動作します!それはローカルでimagedataにアクセスすることを許可しないブラウザの問題でした!皆さん、ありがとうございました。そこに私の最初の質問は答えられました!
お使いのブラウザはどちらですか? – Ryan
はDOMContentLoadedイベントのクロスブラウザですか? addEventListener( 'load'、function())に変更してみてください – chchrist
私はfirefoxを使用していますが、DOMContentLoadedは互換性があると確信しています。 – DxW