ie8中的AngularJS ng-src:图像未加载和"不安全"添加到路径

时间:2014-02-17 19:38:46

标签: image angularjs internet-explorer-8 src unsafe

我只是想在我的应用中添加图片。 建议我使用 ng-src 指令:

<img ng-src="{{app.imgBig}}" alt="lorem ipsum" height="100" width="200" title="lorem ipsum" />

它适用于大多数浏览器,但它不适用于IE8。 图像未加载,而不是将绝对URL添加到文件名,它返回相对路径并在其前面添加“ unsafe:”。

实际上,它正在尝试加载:

  

不安全:IMG / test.jpg放在

而不是:

  

http://url_of_my_site.com/img/test.jpg

所以你知道,这可能与我必须完全禁用 SCE 以支持IE7的事实有关:

$sceProvider.enabled(false);

快速解决方法是创建基本路径常量并将其添加到图像路径的开头,但它不是最好的,因为应用程序不应该依赖于此基本路径。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

自己找到解决方案:

  1. 感谢Location对象获取当前的基本网址:

    var base_url = location.protocol + "//" + location.hostname + location.pathname;
    
  2. 将其作为我控制器中图像的基本路径:

    imgBig: base_url + 'img/' + $scope.imgBig
    
  3. 这样,不安全:消失了,它适用于每个浏览器,并且它独立于常量基本路径。

    希望它可以提供帮助!