0

这是我的代码:

if(resp.status > 0)
{
    $('#download-stuff').html('<img src="/public/images/tick.png" alt="Ready" /> Your download should start shortly');
    window.location = 'http://site.com/download.php/' + fileID + '/' + resp.ticket;
} else {
    alert("you have downloaded too much");
}

问题是当我更改download-stuffdiv 的 HTML 时,图像tick.png不会出现。经过一些调试,似乎该window.location调用使浏览器取消了任何待处理的请求,例如对勾图标的请求,因此它不会出现在页面上。

有没有一种不涉及在页面上预加载图像的方法来解决这个问题?

谢谢。

4

1 回答 1

1

保持简单:从存在但隐藏的图像开始:

<div id="download-stuff" style="display:none"> 
    <img id="downloadTick" src="/public/images/tick.png" alt="Ready"/>
    Your download should start shortly
</div>

然后在您的 jQuery 代码中,仅当下载即将开始时才显示图像:

if(resp.status > 0)
{
    $('#download-stuff').show();
    window.location = 'http://site.com/download.php/' + fileID + '/' + resp.ticket;
} else {
    alert("you have downloaded too much");
}
于 2012-06-14T01:31:04.173 回答