1 <div class="student_note_type_item" id="student_note_type_picture1" style="display: none;"> 2 {include file="common/wpaint" /} 3 </div>
Uncaught DOMException代表未获取dom元素javascript
删除法:删除法删除代码以方便找到冲突代码css
(由于有些状况下是好的,多了代码就出错,哪确定是多的代码的问题)html
最简单模式:查看最简单模式下是否是好的,若是是,逐步增长代码查找冲突源java
给外部插件加的样式也颇有多是外部插件出错的缘由jquery
就是外部插件出错,不只多是js错误,css错误也很是常见canvas
Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D':The HTMLImageElement provided is in the 'broken' state.dom
Uncaught DOMException代表未获取dom元素ide
The HTMLImageElement provided is in the 'broken' state.代表元素在获取过程当中被中断了,也即元素可能没有正确获取oop
图片路径不正确致使图片未正确获取也将致使该错误性能
HTML文件
<!DOCTYPE> <html> <head> <mata name="viewport" content="width=device-width,initial-scale=1"> <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> </head> <body> <div> <canvas id="start" width="800" height="600"> </canvas> </div> <img src="./img/girl.jpg" id="img" style="display:none"/> <!--正确路径--> <script type="text/javascript" src="js/commonFunctions.js"></script> <script type="text/javascript" src="js/star.js"></script> </body> </html>
var can; var ctx; var width; var height; var imgGirl=new Image(); // $(document).ready(function(){ // init(); // }) document.body.onload=init; function init(){ can=document.getElementById("start"); ctx=can.getContext("2d"); width=can.width; height=can.height; imgGirl.src="../img/girl.jpg"//注意文件路径 正确路径为:./img/girl.jpg gameLoop(); } function drawBg(){ ctx.fillStyle="#393550"; ctx.fillRect(0,0,width,height); } /** [gameLoop 刷新画布] */ function gameLoop(){ window.requestAnimFrame(gameLoop); drawBg(); drawImg(); } //根据设备性能进行调用 function drawImg(){ // star.js:39 Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': // The HTMLImageElement provided is in the 'broken' state. // 分析:Uncaught DOMException代表未获取dom元素 // The HTMLImageElement provided is in the 'broken' state.代表元素在获取过程当中被中断了,也即元素可能还在加载中 ctx.drawImage(imgGirl,100,100) }
先判断图片路径在js中是否正确:
在html中添加img标签,经过js赋值看是否能够正常显示,若能够则路径正确
经过删除法和最简单模式逐步缩小错误代码范围找错,发现是style="display: none;"这个位置引起的错误
1 <div class="student_note_type_item" id="student_note_type_picture1" style="display: none;"> 2 {include file="common/wpaint" /} 3 </div>
{include file="common/wpaint" /}里面是wpaint