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

2024-03-29

我发现了许多描述 javascript 图像加载的主题,但并不完全是我正在寻找的内容。

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

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

这会导致网页上有空白区域,从上到下填充有加载图像。此外,我总是必须注意图像的文件大小。

What 我想实现是当页面加载时,显示每个图像的缩小版本(大约 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/ http://perishablepress.com/3-ways-preload-images-css-javascript-ajax/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript + HTML - 在后台加载图像(异步?) 的相关文章

  • 如何解释这个正则表达式 /[\W_]/g

    我的代码是 var result2 result replace W g replace replace 该代码有效 我得到了我需要完成的工作 但我不明白正则表达式如何 W g有效 但我找不到任何我理解的文档 g这是一个全局正则表达式 因此
  • 直接加载页面到锚标记

    当我加载 URL 中带有哈希标记的页面时 页面会加载 然后跳转到锚标记 有没有什么方法可以防止这种 跳转 要么直接将页面加载到锚标记 要么至少使滚动平滑 我在 Chrome 和 Firefox 中看到这个问题 但在 IE 中没有 如果你仍然
  • 使用 JavaScript 访问 Jekyll 变量并通过 DOM 操作传递它

    我很可能有错误逻辑 但我刚刚学习 JavaScript 和 Jekyll 我的目标是通过 JavaScript 操作 HTML 元素 并将一些 Jekyll 变量放置在该元素的内部 HTML 中 一切都从本地开发目录加载jekyll ser
  • 使用 BeautifulSoup 在 python 中抓取多个页面

    我已经设法编写代码来从第一页中抓取数据 现在我不得不在这段代码中编写一个循环来抓取接下来的 n 页 下面是代码 如果有人可以指导 帮助我编写从剩余页面中抓取数据的代码 我将不胜感激 Thanks from bs4 import Beauti
  • Vue - 如何附加组件?

    我正在尝试创建一个按钮 一旦按下该按钮 就会向我的组件添加一个子组件 我的代码可以工作 只是 HTML 被解析为字符串 这是父组件
  • 使用递归获取嵌套对象中的所有父对象

    我有以下对象 const object id 1 name a children id 2 name b children id 3 name c id 4 name d 我需要一个接受对象和最后一个子对象的
  • 在 Javascript 中获取类的所有实例

    我以为这个问题已经有了答案 但我似乎找不到答案 如何在 Javascript 中的此类的所有实例上运行特定的类方法 这必须在我不知道实例名称的情况下完成 我想我可以在类中使用某种静态变量来存储所有实例 但这在 JS 中似乎不存在 那么如何在
  • Javascript Replace() 仅替换第一个匹配项[重复]

    这个问题已经存在了 你好 请参阅这里的 jsfiddle http jsfiddle net moolood jU9QY http jsfiddle net moolood jU9QY var toto bien address 1 bie
  • 如何使用 Java 以编程方式登录 Facebook?

    我正在尝试编写一个可以自动登录 Facebook 的 Java 程序 到目前为止 我已经得到了以下代码 可以将主页 html 页面下载到字符串中 但不知道如何发送电子邮件和密码来登录 Facebook Java 程序还需要处理返回的 coo
  • php 如何使用 getimagesize() 检查上传时的图像类型[重复]

    这个问题在这里已经有答案了 可能的重复 GetImageSize 在应该返回 FALSE 时没有返回 FALSE https stackoverflow com questions 10464948 getimagesize not ret
  • facebook graph api 确定用户是否喜欢 url

    如果用户当前登录 Facebook 并喜欢当前页面 我想显示不同的消息 我明白 FB Event subscribe edge create function response you like this 当用户喜欢该页面时 它将触发 但是
  • 在 JS 中的浏览器中输入 url 时,偏移哈希标签链接以调整固定标头

    我希望创建一个页面 允许哈希标签跳转到页面的某些内容 e g http example com page1 http example com page1是一个普通页面 http example com page1 info http exa
  • ASP.Net Web 应用程序 Jquery Photoviewer 和 Ajaxical 更新

    有一个错误我的网站 http new mnarfezhom com 请进入右数第三个菜单 有些图像只能通过 jquery photoviewer 显示 onlclick 这很好用 现在 当我单击页面底部的 Ajaxical 更新按钮时 问题
  • 通过 AJAX 加载 Google Maps API,控制台错误

    我正在使用 jquery javascript ajax 和 php 构建一个完全动态的网站 当我单击导航链接时 浏览器会使用 ajax 打开该页面 所以基本上所有页面都加载在同一个index php 中 如果我转到 位置 选项卡 其中有谷
  • 我想从 Cakefile 运行 d3

    我想从命令行执行一些 d3 代码 最初我只是尝试了类似的方法 task data Build some data with d3 gt d3 require lib d3 v2 console log d3 version d3 versi
  • 使用两个键执行自动完成 - Material UI with React

    当使用两个值之一搜索时 我试图自动完成输入 title and year 但是 它仅在我搜索时才有效title 当我搜索时year 它不显示任何选项 示例代码 export default function ComboBox return
  • IFrame Resizer 未调整大小

    我正在这个页面上工作 http factor1hosting com dnaz wordpress certifications http factor1hosting com dnaz wordpress certifications 我
  • Java - 全局、可重用的加载对话框

    我正在尝试实现一个全局加载对话框 我想调用一些静态函数来显示对话框和一些静态函数来关闭它 与此同时 我正在主线程或子线程中做一些工作 我尝试以下操作 但对话框没有更新 最后一次 在再次隐藏之前 它会更新 private static Run
  • 从另一个窗口获取 Javascript 错误

    我创建了一些测试代码来打开一个新窗口并尝试从父窗口捕获新窗口中的 JavaScript 错误 问题是它只适用于 Firefox All of 测试 html code
  • 返回深度嵌套数组中对象的索引的函数

    我可能需要编写一个函数 仅输出数组内对象的索引 显然 使用 inArray 在下面的示例中返回这个索引就可以了 array one two three inArray one array 0 对于更复杂的数组 如何找到嵌套对象的索引 arr

随机推荐

  • 关于“在 DirectShow 之外使用 DirectShow 过滤器?”

    我在以下链接中有完全相同的问题 在 DirectShow 之外使用 DirectShow 过滤器 https stackoverflow com q 3458868 683527我是一名刚开始执导节目的人 该堆栈中的两个答案对我来说还不够清
  • 在登录视图中找到控件

    I have a masterpage with a loginview in the loginview i have an asp login control i also have a label that is NOT contai
  • 通过 pyspark.ml CrossValidator 调整隐式 pyspark.ml ALS 矩阵分解模型的参数

    我正在尝试调整使用隐式数据的 ALS 矩阵分解模型的参数 为此 我尝试使用 pyspark ml tuning CrossValidator 运行参数网格并选择最佳模型 我相信我的问题出在评估器上 但我无法弄清楚 我可以使用回归 RMSE
  • Groovy def 和 Java 对象之间的区别?

    我试图找出两者之间的区别 Groovy def name stephanie Java Object name stephanie 由于两者似乎都充当与它们交互的对象 因此我必须将它们转换为原始的预期类型 我最初是在寻找 C 动态类的 ja
  • 尝试递归地散列对象中的值

    朋友们 我正在尝试编写对 JSON 文件中的所有值进行哈希处理的代码 无论文件结构如何 同时保留键和结构 我是 javascript 新手 遇到了一些麻烦 我的代码对 big 和 baz 的值进行哈希处理 但没有像我希望的那样递归地对 ca
  • 如何检查 iCloud 是否以编程方式配置

    这是苹果文档中的一句话 如果未配置 iCloud 请询问用户是否要配置它 如果要配置 iCloud 最好将他们转移到启动设置 如何检查 iCloud 是否已配置以及如何启动 iCloud 设置 Edit 如果您的目标是 iOS6 或更高版本
  • 在 FTP 上上传多个文件

    我是 Objective C 和 iOS 的新手 我正在使用 SimpleFTPSample 制作用于将文件上传和下载到 ftp 的测试应用程序 我需要在 ftp 上上传两个文件 但在 SimpleFTPSample 中您只能上传一个 那么
  • Silverlight工具包图表线系列颜色选择

    我正在使用 Silverlight 4 工具包并使用图表控件 特别是线系列 我还使用 Microsoft Silverlight 主题之一 它带有一些图表的默认样式 我知道在 ToolkitStyles xaml 中有大量供图表工具包使用的
  • 在Linux中使用命令行检查单个线程优先级

    我可以通过转到 proc pidof task 并给出来查看应用程序中使用的线程数 猫的状态 有没有办法使用命令检查Linux中各个线程的优先级 Regards Learner 运行 ps m l 它将列出所有线程和特定 PID 的优先级
  • Django视图响应时间问题

    您好 我有很多从查询中获得的对象 查询集尚未评估 当我将对象列表传递给分页器对象时 花了 14 秒才返回分页器对象 这是因为它正在评估列表中的所有对象 这需要时间 可能会击中数据库 在将查询集发送到分页器对象之前 我强制评估了查询集 如下所
  • Spring Integration 链流程 - 处理无效网关调用

    我有一个 Spring 集成流程 其中有一个对网关服务的服务激活器调用 该服务的结果无效并且似乎挂起 它不会继续链的其余部分 我是否需要指定其他内容来表明我不希望网关调用返回结果以继续线程执行 我有一个 void 方法声明 Service
  • 查找Python代码中除法运算符的所有用法

    我想找到我的所有实例python除法运算符的代码 用来 我的第一直觉是使用正则表达式 该表达式需要过滤掉非除法的使用 即路径名 我想出的最好的是 A z0 9 A z0 9 这将找到除法运算符 foo bar foo bar foo bar
  • 启动应用程序(如果已安装),或使用安装引荐来源网址打开 Google Play

    我们正在尝试生成一个链接 当在浏览器中单击该链接时 将打开我们的应用程序 如果已安装 这通常是通过以下方式完成的 intent some domain some parameters Intent scheme somescheme pac
  • jQuery 检查元素是否具有 css 属性

    我需要知道当我单击一个元素时该元素是否具有 CSS 属性 我正在考虑这样的事情 但它不起作用 if element attr text shadow alert i Have else alert i dont 关于这一点有什么建议吗 谢谢
  • 如何将 datetime.date 对象转换为 python 中的 datetime.datetime ? [复制]

    这个问题在这里已经有答案了 可能的重复 将 datetime date 对象转换为 datetime datetime 对象 其中任何缺失的时间属性均为零 https stackoverflow com questions 11192814
  • 在多列中显示单选框列表

    我有一个 php 循环 列出了 50 个单选框 我想在每列上放置 10 个单选框 我试过 div 样式 溢出 隐藏 空白 nowrap 浮动 左 宽度 160px gt 生成代码 php j 0 php foreach from genre
  • 如何使用 IHTTPNegotiate 添加额外的 http 标头?

    如何使用 HTTP Negotiate 向请求添加额外的标头 我添加了接口但功能BeginningTransaction OnResponse永远不会被打电话 TNameSpaceHandler class TComObject IInte
  • 如何获取 Amazon 的 AWS_ACCESS_KEY_ID?

    我对 AWS 完全陌生 我从亚马逊下载了一些示例代码 我需要设置一些常量 AWS ACCESS KEY ID AWS SECRET ACCESS KEY MERCHANT ID MARKETPLACE ID 我刚刚创建了一个 AWS 账户
  • QT 程序包含带有 if-test-then 块的 bash 脚本以及内部问题错误中转义的必要引号

    我正在尝试在 QT 应用程序中运行一个小型 bash 脚本 其中包含 if test then 块以及测试中必要的引号 由于脚本应该由 QT 编译并由 bash 运行 因此引号必须转义两次 因此引号的转义反斜杠也必须转义 正如我所见 不幸的
  • Javascript + HTML - 在后台加载图像(异步?)

    我发现了许多描述 javascript 图像加载的主题 但并不完全是我正在寻找的内容 我目前正在以正常方式加载 html 中的图像 例如 img src images big image jpg 这会导致网页上有空白区域 从上到下填充有加载