(Plunkr:http://plnkr.co/edit/S0nSaeFU2TjSSDgvTL3s?p=preview)
我正在尝试在我的Angular应用程序中动态设置SVG的URL。
在我的控制器中我有:
$scope.svg = "http://url/of/svg.svg"
在我的HTML中,我有:
<object type="image/svg+xml" data="{{svg}}" />
在我加载页面的Chrome和Firefox上,我首先获得了{scope}
的404,然后我获得了http://url/of/svg.svg
的成功请求。图像显示正确。
但在Safari中我只获得了{scope}
的404,它从未尝试过请求SVG。没有显示图像。
为了让Safari尊重SVG的范围变化,我还需要做些什么吗?
我能够通过将“数据”更改为“ng-attr-data”来解决这个问题,这意味着浏览器尝试加载的第一个URL是正确的URL。
<object type="image/svg+xml" ng-attr-data="{{svg}}" />