我正在尝试向画布上下文中调用的每个方法添加一些代码。我正在尝试这样做,以便可以将每个命令添加到命令数组中。这是我认为有效的代码(但没有):
var canvas = Object.getPrototypeOf(document.createElement('canvas').getContext('2d'));
for(p in canvas){
if(canvas.hasOwnProperty(p)){
var original = canvas[p];
canvas[p] = function(){
//extra code to be run
return original.apply(this,arguments);
}
}
}
在我看来,这似乎应该有效,但事实并非如此。如果我在示例中使用此代码,我会得到一个NOT_SUPPORTED_ERR: DOM Exception 9
演示:http: //jsfiddle.net/J3tUD/2/