canvas getContext (“2d”) retorna nulo

Eu tentei isso de algumas maneiras diferentes, mas continuo preso com o mesmo erro. Carreguei uma imagem na tela antes, mas desde que atualizei o Safari há alguns dias, estou recebendo erros.

Vou postar o que tenho no momento, mas tentei fazê-lo com jQuery, a propriedade onLoad do html, etc.

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();

Os IDs estão corretos e correspondem às tags de tela e img apropriadas. No entanto, continuo recebendoTypeError: 'null' is not an object (evaluating 'cvs.getContext') e parece que não está indo mais longe. Tenho certeza que é algum erro do ID10T, mas espero que alguém possa me dar uma pista do que está causando isso? Obrigado

Edit: Ok, então isso parece funcionar usando<body onload="init()"> agora. No entanto, ele é exibido apenas ocasionalmente, e se eu tentar executarinit() fora de$(document).ready() oudocument.onload Ainda não tenho sorte e recebo o erro. Alguma ideia

questionAnswers(4)

yourAnswerToTheQuestion