Mic*_*ael 5 ajax binary image response src
我正在编写一个Web应用程序,它涉及在网页上创建(和删除)大量图像的连续循环.每个图像由服务器动态生成.
var img = document.createElement("img");
img.src = "http://mydomain.com/myImageServer?param=blah";
Run Code Online (Sandbox Code Playgroud)
在某些情况下,其中一些图像在完成下载之前比它们的实用性更长.那时,我从DOM中删除它们.
问题是浏览器即使在从DOM中删除后仍继续下载这些图像.这造成了瓶颈,因为我有新的图像等待下载,但他们必须等待旧的不需要的图像先完成下载.
我想中止那些不需要的图像下载.显而易见的解决方案似乎是通过AJAX请求二进制图像数据(因为AJAX请求可以中止),并在下载完成后设置img.src:
// Code sample uses jQuery, but jQuery is not a necessity
var img = document.createElement("img");
var xhr = $.ajax({
url: "http://mydomain.com/myImageServer?param=blah",
context: img,
success: ImageLoadedCallback
});
function ImageLoadedCallback(data)
{
this.src = data;
}
function DoSomethingElse()
{
if (condition)
xhr.abort();
}
Run Code Online (Sandbox Code Playgroud)
但问题是这条线路没有按照我希望的方式工作:
this.src = data;
Run Code Online (Sandbox Code Playgroud)
我搜索过高低.有没有办法将图像源设置为通过AJAX发送的二进制图像数据?
| 归档时间: |
|
| 查看次数: |
4889 次 |
| 最近记录: |