0

我有以下代码来检查外部图像是否被缓存

<script type="text/javascript">
    function cached(url){
       var test = document.createElement("img");
       test.src = url;
       return test.complete || test.width+test.height > 0;
    }
    var base_url = "http://www.google.com/images/srpr/nav_logo80.png"
    alert("Expected: true or false\n" +
        cached(base_url)
        + "\n\nExpected: false (cache-busting enabled)\n" +
        cached(base_url + "?" + new Date().getTime()));         
</script>

我得到以下结果假假,然后在 Firefox 和 IE 上为真假(我假设它首先触发假假,然后在它抓取图像后,它触发真,假,但在 chrome 中它是假的,总是假的

有什么理由吗?

4

1 回答 1

3

这个问题的答案似乎适用于 Chrome。

function cached(url){
    var test = document.createElement("img");
    test.src = url;
    return test.complete || test.width+test.height > 0;
}
var base_url = "http://www.google.com/images/srpr/nav_logo80.png"
alert("Expected: true or false\n" +
  cached(base_url)
  + "\n\nExpected: false (cache-busting enabled)\n" +
  cached(base_url + "?" + new Date().getTime()));

回答该问题的副本/粘贴,而不是我的工作。

于 2013-04-20T07:25:03.633 回答