首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试WebGL上下文后删除WebGL上下文

测试WebGL上下文后删除WebGL上下文
EN

Stack Overflow用户
提问于 2017-12-17 14:22:29
回答 1查看 350关注 0票数 0

出于好奇,我想看看使用以下代码的不同访问者支持WebGL的上下文:

代码语言:javascript
运行
复制
var e = document.createElement('canvas');
var c = ['webgl','ms-webgl','experimental-webgl','moz-webgl']; 
for (var y = -1, len = c.length; ++y < len;)
{
 try {if (e.getContext(c[y])) {/*do-a-jig*/ break;}} catch(e) {}
}

不幸的是,这造成了一个很难重现web开发人员控制台中报告的bug:

WebGL警告:该主体的活动WebGL上下文超过16个,丢失了最近使用最少的一个。

因此,简单地说,在测试了上下文之后,我如何删除该上下文以避免产生此错误?

EN

回答 1

Stack Overflow用户

发布于 2017-12-17 14:37:48

您可以尝试这样的方法:(未经测试)

代码语言:javascript
运行
复制
var e = document.createElement('canvas');
var c = ['webgl','ms-webgl','experimental-webgl','moz-webgl']; 

var found = '';
for (var y=0; y<c.length; y++)
{
    try {
        var ctx = e.getContext(c[y]);
        if (ctx) {
            found = c[y];
            ctx.getExtension('WEBGL_lose_context').loseContext();
            break;
        }

    } catch(e) { }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47856034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档