2016-03-20 5 views
2

Verwendung 2.1.1 mit Karma und Jasmin, erhalte ich eine TypeError mit diesem Code:`canvas.getContext ('2d')` `kehrt Object` statt` CanvasRenderingContext2D`

var canvas = document.createElement('canvas'); 
var context = canvas.getContext('2d'); 
context.drawImage(...) // TypeError here for Phantom 

Chrome 47 und Firefox 43 geben eine context vom Typ CanvasRenderingContext2D zurück.

Link to GitHub issue

+1

Was genau hast du in dem argumanets von (...) – amanuel2

+0

Ich bin eine erstelltes ''

+0

Vielleicht ist es der Name der Variablen, die woanders verwendet wird, wie wäre es mit "the_canvas_aaaaa" anstelle von "canvas"? –

Antwort

0

ich glaube, das Problem ist, dass Sie diesen Code außerhalb des Kontexts einer Webseite ausführen.

folgender Ausschnitt soll, ist

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

Die Ausgabe bei der Ausführung dieses Skript in PhantomJS arbeiten;

The web page said: [object HTMLCanvasElement] 
The web page said: [object CanvasRenderingContext2D] 
The web page said: function 
Verwandte Themen