我已经尝试了几种不同的方法,但我一直遇到同样的错误。我之前已经将图像加载到画布上,但自从几天前更新了 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();
ID 是正确的并且对应于适当的 canvas 和 img 标签。然而,我不断得到TypeError: 'null' is not an object (evaluating 'cvs.getContext')
而且似乎没有进一步进展。我确信这是一些 ID10T 错误,但我希望有人能给我一个线索,告诉我是什么原因造成的?谢谢。
编辑:
好的,这似乎可以使用<body onload="init()">
现在。但是,它只是偶尔显示,如果我尝试运行init()
off of $(document).ready()
or document.onload
我仍然没有运气,并收到错误。有什么想法吗?
对于在搜索时点击此页面的其他人getContext http://dev.w3.org/html5/spec/the-canvas-element.html#dom-canvas-getcontext返回 null,如果您已经请求了不同类型的上下文,则可能会发生这种情况。
例如:
var canvas = ...;
var ctx2d = canvas.getContext('2d');
var ctx3d = canvas.getContext('webgl'); // will always be null
如果颠倒调用顺序,同样如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)