首页 > 解决方案 > Safari 失去了画布的上下文

问题描述

我有一个 WebGL 上下文,它是这样创建的:

<section id="main_section">
        <article id="GL">
            <canvas id="GL-Surface">

            </canvas>
        </article>
</section>

我用以下几行调整它的大小:

document.getElementById("GL-Surface").style.width  = w + "px";
document.getElementById("GL-Surface").style.height = h + "px";

document.getElementById("GL-Surface").width  = w;
document.getElementById("GL-Surface").height = h;

gl.viewport(0, 0, w, h);

这适用于所有浏览器,但有时会在 Safari 中失败并显示以下消息:

[Error] WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost

我怎样才能防止这种情况?

标签: javascripthtmlsafariwebgl

解决方案


推荐阅读