对象引用未设置为Internet Explorer上的AngularJS中的对象的实例

Object reference not set to an instance of an object in AngularJS on Internet Explorer

本文关键字:AngularJS 对象 实例 上的 Explorer 设置 Internet 对象引用      更新时间:2023-09-26

>症状:

在Visual Studio 2015中通过Intranet url加载AngularJS时,此时AngularJS库中会抛出错误:

    line 7:       if(H(b)||Ta(b))

(对于 Angularjs.min.js)

    line 322:     } else if (isArray(obj) || isArrayLike(obj)) {

(对于 AngularJS.js)

就我而言,这是我在 127.0.0.1 上配置了第二个本地站点"localhost-alternative"的时候。为什么 Internet Explorer 显示此错误?它在Chrome,Edge或Firefox中工作正常

在这些情况下,浏览器不会将其重新识别到它位于本地 PC 上。它将还原为内部网设置。当 Internet Explorer 认为您正在浏览 Intranet 时,它会恢复为 IE7 呈现引擎。而且Angular说的史前不是很好。

分辨率?

您可以为每个响应发送一些自定义标头。您可以执行此操作,将它们添加到您的 web.config 中,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <httpProtocol>
          <customHeaders>
            <add name="X-UA-Compatible" value="IE=edge" />
              ....

此标头指示 Internet Explorer 使用其当前的渲染引擎,因此 AngularJS 将按预期方式渲染。