Javascript `getContext(';2d';)`返回'Object',而不是'canvasrendingcontext2d'`
使用2.1.1和Karma和Jasmine,我得到了一个Javascript `getContext(';2d';)`返回'Object',而不是'canvasrendingcontext2d'`,javascript,html5-canvas,jasmine,phantomjs,karma-jasmine,Javascript,Html5 Canvas,Jasmine,Phantomjs,Karma Jasmine,使用2.1.1和Karma和Jasmine,我得到了一个TypeError: var canvas=document.createElement('canvas'); var context=canvas.getContext('2d'); context.drawImage(…)//Phantom的类型错误 Chrome 47和Firefox 43正在返回类型为CanvasRenderingContext2D的上下文 我认为问题在于您在网页上下文之外运行代码 下面的代码段应该可以工作 var
TypeError
:
var canvas=document.createElement('canvas');
var context=canvas.getContext('2d');
context.drawImage(…)//Phantom的类型错误
Chrome 47和Firefox 43正在返回类型为CanvasRenderingContext2D的上下文
我认为问题在于您在网页上下文之外运行代码
下面的代码段应该可以工作
var webPage = require('webpage');
var page = webPage.create();
page.onConsoleMessage = function(msg) {
console.log('The web page said: ' + msg);
};
page.open('http://phantomjs.org/', function(status) {
page.evaluateJavaScript(function() {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
console.log(canvas);
console.log(context);
console.log(typeof context.drawImage);
});
phantom.exit();
});
在PhantomJS中运行此脚本时的输出为
The web page said: [object HTMLCanvasElement]
The web page said: [object CanvasRenderingContext2D]
The web page said: function
你在(…)的参数中到底放了什么?我正在渲染一个已创建的
,但在本例中它似乎并不重要。可能是在其他地方使用的变量的名称,将其命名为“canvas”而不是“canvas”如何?