N.h*_*ang 4 javascript overriding html5-canvas
我想当 canvas 元素调用 'getContext('webgl')' 时,返回 'null' 值。
我试图找到WebGLRenderingContext原型并更新它,但我找不到它。
WebGLRenderingContext并且WebGLRenderingContextBase没有prototype.getContext.
我怎样才能改变它返回“空”值?
我已经用下面的测试过了..
var test = document.createElement('canvas');`
test.getContext("webgl");`
Run Code Online (Sandbox Code Playgroud)
这返回WebGLRenderingContext对象...
请帮我 :)
搞乱原生原型?好吧,我假设你知道自己在做什么。如果是这样,并且您确实想覆盖getContext原型方法,您可以使用简单的装饰器来实现HTMLCanvasElement.prototype.getContext:
HTMLCanvasElement.prototype.getContext = function (orig) {
return function(type) {
return type !== "webgl" ? orig.apply(this, arguments) : null
}
}(HTMLCanvasElement.prototype.getContext)
Run Code Online (Sandbox Code Playgroud)
因此,对于 2d、3d 等任何上下文,它都会正常工作,但对于“webgl”,它将给出null. 但不知道为什么你需要这个。
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |