我刚刚添加了一个CDN服务,以加快我的网站加载速度。
关于使用<img>
标签获取的照片,我有一个问题。
我有很多类似这样的情况:
// userProfile.thumbnailPhotoSrc = some/relative/path.png
ng-src="{{userProfile.thumbnailPhotoSrc}}"
我使用AngularJS。
在启动时,我有一个脚本将CDN端点保存到window.cdn
变量中。如果脚本决定没有可用的端点:
window.cdn = '';
所以我希望能够做到这样:
ng-src="window.cdn + {{userProfile.thumbnailPhotoSrc}"
但这是不可能的,因为
window.cdn
没有被评估。但是以下方法也不起作用:ng-src="{{window.cdn + userProfile.thumbnailPhotoSrc}"
因为我只能在
{{}}
下访问$scope
属性。
我不能将CDN端点保存到$scope
中,因为每个控制器都存在一个$scope
(我有很多个,这是不可维护的)。我想到的最后一件事,希望
ng-src
允许 - 是添加一个转换函数,该函数在任何ng-src
属性上运行,但我找不到如何做到这一点。你有什么建议?请记住,我希望网站从CDN获取照片,并在CDN故障的情况下回退到原始服务器(获取相对路径)。我怎样才能获得这种行为?
谢谢
userProfile.thumbnailPhotoSrc
相同的相对路径,只是换了一个不同的域名。例如:'https://blabla.cdn.com/' + {{userProfile.thumbnailPhotoSrc}}
- 将被解析为 CDN 的正确地址。 - johniwindow.CDN
和window.cdn
。这是偶然的吗?还是可能与你的问题有关? - Daniel Diekmeier