在IE11中未定义三个,但在Chrome中未定义

时间:2019-06-05 14:51:59

标签: internet-explorer three.js internet-explorer-11

即使在其他浏览器(例如Chrome)中也能正常运行,我也无法在IE11中使用该代码。

我在codepen.io上找到了一些非常适合我尝试显示的内容。 (https://codepen.io/iMax723/pen/JXMNdv) 问题是,一旦我尝试使用IE打开它,就什么也没有显示。

  • 我检查了IE是否甚至还支持Three.js,并且确实支持-但只有一部分(https://stackoverflow.com/a/50880630/8428325)。
  • 我什至通过访问以下网站来检查是否支持WebGL:https://get.webgl.org/-确实如此
  • 我尝试弄乱安全设置(激活的ActiveX并从本地计算机打开文件等)-无法正常工作。

    <body>
        <script>
        THREE.ShapeUtils.triangulateShape = (function() {
            //Code})();
        </script>
    </body>
    

这是我在使用控制台时收到的消息:https://docs.microsoft.com/de-de/previous-versions/xyf5fs0y(v=vs.94)->在第三行...

1 个答案:

答案 0 :(得分:0)

  

在IE11中未定义三个,但在Chrome中未定义

尝试更改JavaScript脚本的导入顺序,添加JQuery引用后,您可以添加自定义JavaScript脚本并使用THREE。

以下代码(请检查您的代码,您两次添加JQuery引用):

<head>
    <meta charset="utf-8" />
    <title></title>
    <link href="CSS/style.css" rel="stylesheet" />
</head>
<body>

    <div id="three-container"></div>
    <div id="instructions">
        MAX HUANG
    </div>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/three.js/r75/three.min.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/TextGeometry.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/FontUtils.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/pnltri.min.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/droid_sans_bold.typeface.js'></script>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/bas.js'></script>
    <script src="Scripts/index.js"></script>

    <script>
        THREE.ShapeUtils.triangulateShape = (function () {
            var pnlTriangulator = new PNLTRI.Triangulator();
            return function triangulateShape(contour, holes) {
                return pnlTriangulator.triangulate_polygon([contour].concat(holes));
            };
        })();</script>
</body>

上面的代码对我来说效果很好(使用IE 11.116.18362.0版本),但是加载Javascript和显示动画需要3〜6秒的时间。