Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ThreeJS:IE11在Render()上崩溃;_Javascript_Internet Explorer_Crash_Three.js_Webgl - Fatal编程技术网

Javascript ThreeJS:IE11在Render()上崩溃;

Javascript ThreeJS:IE11在Render()上崩溃;,javascript,internet-explorer,crash,three.js,webgl,Javascript,Internet Explorer,Crash,Three.js,Webgl,当我使用WebGL编程时,Internet Explorer 11出现了一些奇怪的问题。我在所有浏览器中都运行得很好,但当我突然改变4个网格的位置时。。。IE决定崩溃(在调试模式下,不指向代码中的任何特定内容) 我和你一起跑IE 11 GL版本-WebGL 0.93 着色语言版本-WebGL GLSL ES 0.93 我得到以下错误: iexplore.exe中0x03F6435B(mshtml.dll)处未处理的异常:0xC0000005:访问冲突写入位置0xBF35051C。 (5)最后一个

当我使用WebGL编程时,Internet Explorer 11出现了一些奇怪的问题。我在所有浏览器中都运行得很好,但当我突然改变4个网格的位置时。。。IE决定崩溃(在调试模式下,不指向代码中的任何特定内容)

我和你一起跑IE 11

GL版本-WebGL 0.93

着色语言版本-WebGL GLSL ES 0.93

我得到以下错误: iexplore.exe中0x03F6435B(mshtml.dll)处未处理的异常:0xC0000005:访问冲突写入位置0xBF35051C。

(5)最后一个调用堆栈:

mshtml.dll!CMarkupPointer::RemoveMeFromList(void)未知 mshtml.dll
CBackgroundInfo::Property(int)':
7'::`fieldDefaultValue'(void)的动态atexit析构函数未知 mshtml.dll!CMarkupPointer::MoveToPointer(类CMarkupPointer常量*)未知 mshtml.dll!CDisplayPointer::MoveToPointer(类CDisplayPointer*)未知 mshtml.dll!cselectracker::DoSelection(类CEditEvent*,int,int*)未知

以下是创建网格的代码:

function PrepareFlowArrows(l_vDiffuser) {
    var m_vExtraLoader = new THREE.JSONLoader();
    m_vExtraLoader.load('3D_Control/models/FlowArrow.js', callbackLoadFlowArrows(l_vDiffuser));
}

// Callback function for FlowArrows when loading models
function callbackLoadFlowArrows(l_vDiffuser) {
    return function (geometry) {
        var l_vRotation = 0;
        for (var i = 0; i < 4; i++) {
            if (i == 0)
                l_vRotation = -1.5707; //-1.5707;
            else if (i == 1)
                l_vRotation = 3.1414;//3.1414;
            else if (i == 2)
                l_vRotation = 1.5707;//1.5707;
            else
                l_vRotation = 0;

            var l_vMaterial = new THREE.MeshBasicMaterial();                      // SETTINGS COLORS MANUALLY (way more nicer with textures though)
            l_vMaterial.color.r = 0;
            l_vMaterial.color.g = 255;
            l_vMaterial.color.b = 0;

            var m_vTempFlowArrowMesh = new THREE.Mesh(geometry, l_vMaterial);
            m_vTempFlowArrowMesh.scale.x = m_vTempFlowArrowMesh.scale.y = m_vTempFlowArrowMesh.scale.z *= 25;
            m_vTempFlowArrowMesh.position.set(0, 0, 0);
            m_vTempFlowArrowMesh.rotation.y = l_vRotation;
            l_vDiffuser.AddFlowArrow(m_vTempFlowArrowMesh);
            m_vScene.add(m_vTempFlowArrowMesh);
        }
    }
}
请注意,该代码在Chrome、Opera和Firefox中运行良好。我能不能重写一下这个代码,这样IE就不会崩溃

编辑 有趣的事。。。如果我加一行

 m_vTempFlowArrowMesh.visible = false;
在callbackLoadFlowArrows中。。。它不再崩溃,即使它更新了箭头。

IE团队无法(出于某些尴尬的原因)重现此错误

尽管我已经向他们发送了大约3x800mb的崩溃转储文件以及IE客户端的信息文件,但他们无法找到问题所在

所以。。。他们结束了这个问题,因为它在他们眼中不再重要

GG微软

叹息

 m_vTempFlowArrowMesh.visible = false;