javascript - 如果元素显示 : none; in a media query are they loaded in still?

标签 javascript jquery html css

今天刚想到这个,让我很好奇。

如果我在网站上有一些元素或者div,比如video标签,如果我设置这个video标签显示:none;在移动用户的媒体查询中。

当这些用户在他们的设备上查看该网站时,该网站是否仍会加载视频及其元素,然后隐藏它们?或者它是否阻止元素被加载?

它会影响加载时间吗?

我有一个带有用于桌面的 html5 视频的网站,当按比例缩小时,它将这些元素替换为用于移动设备的 gif,因为 html5 无法在 ios 设备上自动播放。这是否意味着通过选择不显示它可以防止视频或任何其他元素影响移动加载时间?

最佳答案

这取决于情况和浏览器。在许多情况下,隐藏 Assets 不会被下载,但如果浏览器认为它会被使用,则可能会被下载。这是一个较旧的问题,但它解决了您所追求的问题:

Does "display:none" prevent an image from loading?

我猜在移动设备上下载会被推迟。我肯定知道 display:none;图片在 android 上的当前 chrome 上延迟,html5 视频可能是相同的。

关于javascript - 如果元素显示 : none; in a media query are they loaded in still?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27954664/

相关文章:

html - Nodejs 表达 html

html - 使列与具有嵌套框的列相同的高度

javascript - 检查数组是否有大于指定的数字

javascript - 为什么我们要使用延迟加载,在SPA这样的小项目中是否有必要使用它?

javascript - 更改 keydown 事件的背景

c# - 需要 javascript 验证下拉列表

javascript - 链接在通知下拉菜单中的 div 之外不起作用?

javascript - 获取从 PHP 发送的 JSON 对象的类名

JavaScript .click() 在 IE 中不起作用

javascript - 使用 .trigger 将事件传递给子级