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>

私は次の結果を取得します false false、次にfirefoxとIEでtrue false(最初にfalse falseを起動し、次に画像を取得した後、true、falseを起動すると仮定しますが、クロムでは常にfalse、falseです

何か理由は?

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 に答える