[英]How to not load images on mobile phones?
我正在寻找使图像(真实img
元素,无背景图像属性)无法加载到手机上的最佳方法。 由于使用媒体查询和设置display
,以none
不需额外使浏览器停止预载的图片,我使用纯CSS / HTML5没有JavaScript的研究更好的方法。 我看到的唯一方法是使用 HTML5 picture
元素仅以特定屏幕宽度加载图像。
<picture>
<source media="(min-width: 480px)" src="some.png">
</picture>
但是目前主流浏览器还不支持图片元素,所以这也不是一个解决方案。 你有其他想法如何实现它吗? 如果没有纯 CSS/HTML 方法,使用 JavaScript 的最佳方法是什么?
对于任何寻求更现代方法的人(截至 2019 年):
<picture> <source media="(min-width: 1000px)" srcset="***url of image***"> <source media="(max-width: 999px)" srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" sizes="100%"> <img src="***url of image***" alt="***Image alt***"> </picture>
在您的情况下,从移动优先方法开始可能会更好。 首先不加载任何图像,然后在满足某些要求时使用 JavaScript 添加图像。 例如像这样使用 jQuery:
if ($(window).width() > 959) {
$("body").append("<img/>");
}
如果您想让它具有响应性/动态性:
$(window).resize(function() {
if ($(window).width() > 959) {
$("body").append('<img src="path/to/img.jpg" class="responsive-image"/>');
} else {
$(".responsive-image").remove();
}
}).resize();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.