我已经尝试过几种不同的方法,但每次都卡在同一个错误上。以前我已经加载过一张图片到画布上了,但自从几天前更新了Safari之后,我就一直遇到错误。
我会发布我目前所拥有的代码,但我已经试着用 jQuery、html 的 onLoad 属性等方式来解决问题。
var cvs, ctx, img;
function init() {
cvs = document.getElementById("profilecanvas");
ctx = cvs.getContext("2d"); /* Error in getContext("2d") */
img = document.getElementById("profileImg");
drawImg();
}
function drawImg() {
ctx.drawImage(img, 0, 0);
}
window.onload = init();
IDs是正确的,对应了适当的canvas和img标签。然而,我一直收到"TypeError: 'null' is not an object (evaluating 'cvs.getContext')"这个错误,并且似乎没有进展。我确定这是某种错误,但我希望有人能给我一些提示是什么导致了这个问题?谢谢。编辑:好吧,现在使用似乎可以解决这个问题了。然而,它只偶尔显示,如果我尝试从$(document).ready()或document.onload运行init(),我仍然没有运气,并且会收到错误。有想法吗?