我试图在AngularJS应用程序中预先加载一些图像,然后再将它们呈现给用户,以防止它们被剥离" in。我的预加载工具,用于在下载图像时返回已解决的承诺。
目前,我正在使用简单的$http
调用来下载图片。想象一下element
是<img>
标记,其中包含我的图片:
$http.get("my/image/url.jpg")
.then( function() {
$animate.enter(element);
});
这似乎没问题,但如果有更好的方法,我会很感激。
我认为我遇到了CORS的问题。此预加载器的一个应用是从twitter加载配置文件图片。当我这样做时,我的$http.get
在控制台中抛出错误:
XMLHttpRequest cannot load https://path/to/img.jpg.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://my.server.com' is therefore not allowed access.
有没有办法预加载这种图像?
我已经创建了very simple plunkr来证明问题 - 您需要打开控制台才能看到错误。
答案 0 :(得分:1)
使用其中一种标准方式预加载图片 - 屏幕上未显示的img
标记仍会强制图像加载。
结合Angular,声音就像预加载器指令一样完美。
无需重新发明轮子,只需充分利用Angular。