角度2 IE9在加载脚本文件时获得404's

时间:2017-03-30 06:06:20

标签: angular internet-explorer-9

加载https://me.com:80/p/manage;Id=1234

时 在ie10中的

https://me.com:80/styles.bundle.js 即ie9:https://me.com:80/p/styles.bundle.js

在我的index.html中,我有<base href="/" />

在构建自动生成时将脚本添加到index.html:

<script src="styles.bundle.js" type="text/javascript"></script>

这会发生在angular2依赖的所有自动添加的脚本上。

为什么ie9中的url是这样产生的,这是可以修复的吗?

2 个答案:

答案 0 :(得分:0)

添加到index.html:

<script src="https://raw.githubusercontent.com/angular/angular/66df335998d097fa8fe46dec41f1183737332021/shims_for_IE.js" type="text/plain"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-sham.js" type="text/plain"></script>

在头部:

<meta http-equiv="X-UA-Compatible" content="IE=9;IE=edge;IE=10" />

答案 1 :(得分:0)

这是由于IE-9而且不支持<base href="">

中的相对路径

我在<head>添加了一个小脚本来解决这个不便之处。

<script type="text/javascript">
        var isLocal = true;
        var base, host;
        base = isLocal ? "/" : "/prod/ux/";
        if (!window.location.origin) {
            window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
        }
        host = window.location.origin + "";
        if(isLocal){/* needs to be changed for ie-9 testing */
          document.write("<base href='" + base + "' />");
          //document.write("<base href='https://" + window.location.host + base + "' />");
        }else{
          document.write("<base href='https://" + window.location.host + base + "' />");
        }
    </script>