下面的代码会产生两个HTTP请求吗?

Will the following result in two HTTP requests?

本文关键字:两个 HTTP 请求 代码      更新时间:2023-09-26
var img = new Image();
$(img).attr('src', "<?php echo $image_url; ?>");
$(window).load(function(e){
    resetImageSize(img);
    td.css('background-image', 'url("<?php echo $image_url; ?>")');
});
$(window).resize(function(e){
    resetImageSize(img);
});
function resetImageSize(img){
    var wr = $("#wrapper");
    var td = $("#wrapper td");
    if(img.width > wr.width() || img.height > wr.height()){
        td.css('background-size', 'contain');
    } else {
        td.css('background-size', img.width);
    }
}

我怎么知道?

如果你想知道你的应用程序发出了多少http请求,你可以使用你的web浏览器的开发工具。

与谷歌chrome按F12,并进入网络面板

你的浏览器将使用他的缓存来处理第二个请求,他会在网络面板

的结果字段中告诉你

了解有多少http请求输入的一种方法是查看服务器日志

只要客户端没有在浏览器上禁用缓存,服务器应该响应缓存已被用于第二个请求。您可以通过在Firebug中使用Net面板分析页面来测试这一点。您应该看到第一个请求的图像下载,第二个请求的304 Resource Not Modified。