Javascript + HTML - 在后台加载图像(异步?)

标签 javascript html image asynchronous loading

我找到了许多描述 javascript 图像加载的主题,但并不完全是我要搜索的内容。

我目前正在以正常方式在 html 中加载图像,例如

<img src="images/big-image.jpg">

这会生成一个网页,其中的空白区域从上到下填充了加载图像。此外,我总是需要注意图像的文件大小。

我想要实现的是当页面加载时,显示每张图片的缩小版本(大约 10kb)。当页面完全加载时,应该有一个 javascript 函数在后台加载大图像并在加载时替换它们。

我已经找到了一种使用 javascript 执行此操作的方法,但是在替换所有图像之前,浏览器显示他处于“正在加载”状态。是否可以使用异步方式在后台完成加载任务?

<img src="small.jpg" id="image">

<script>
        <!--
            var img = new Image(); 
            img.onload = function() { 
               change_image(); 
            } 
            img.src = "small.jpg";  

            function change_image() {
                document.getElementById("image").src = "big.jpg";
            }
        //-->
</script>

最佳答案

你试过吗?

window.onload = function() {
    setTimeout(function() {
        // XHR to request a JS and a CSS
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://domain.tld/preload.js');
        xhr.send('');
        xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://domain.tld/preload.css');
        xhr.send('');
        // preload image
        new Image().src = "http://domain.tld/preload.png";
    }, 1000);
};

http://perishablepress.com/3-ways-preload-images-css-javascript-ajax/

关于Javascript + HTML - 在后台加载图像(异步?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15813571/

相关文章:

python - 如何在Python中将前景文本与嘈杂的背景分开?

html - 浏览器支持: png files with jpg extension

javascript:在文本区域显示值

javascript - Jquery,打开关闭 slider 问题

css - 有一个带有 google maps api map Canvas 和 div 背景 img 的 div,无法显示图像

java - Android 上的 Phonegap : Why does triggering the backbutton cause a SocketException?

javascript - 将图像设置为背景

javascript - 在 ASP.NET 中使用 javascript 隐藏和显示 div

javascript - 不同按钮上的音频播放/暂停单击 Jquery

javascript - 如何使用 JavaScript 访问嵌套在 "a"中的 "td"的标题或文本?