防止图像在移动设备上加载

Chr*_*ris 4 javascript css jquery media-queries responsive-design

为了最大限度地提高移动设备的效率,我宁愿没有用于桌面版的图像.通过研究,我了解到只使用display:none;css或jQuery('img').hide()只隐藏图像,但仍然使用资源加载它.

我该怎么做:

<div class="com_router_img">
<img src="http://www.example.com/wp-content/uploads/2013/05/img.jpg"
 alt="img" width="700" height="350" class="aligncenter size-full wp-image-307" />
</div>
Run Code Online (Sandbox Code Playgroud)

而不是在我的移动样式表上显示它?这是移动样式表查询:

<link rel="stylesheet" media='screen and
 (-webkit-min-device-pixel-ratio: 1.4) and (-webkit-max-device-pixel-ratio: 1.5)'
 href="<?php bloginfo('template_url'); ?>/smallphone.css" />
Run Code Online (Sandbox Code Playgroud)

Kev*_*nch 6

当需要这种优化级别时,通常通过CSS将图像用作背景图像.移动浏览器只会加载它应用的CSS.

CSS

<style>
@media (max-width:600px) {
   .image {
      display:none;
   }
}
@media (min-width:601px) {
   .image {
      background-image: url(http://www.example.com/wp-content/uploads/2013/05/img.jpg);
      width:700px;
      height:350px;
   }
}
</style>
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="image">

</div>
Run Code Online (Sandbox Code Playgroud)

  • 虽然这确实是常见的做法,但我相信`<img>`和`background-image`之间存在语义差异,所以严格来说这是错误的编码...... (5认同)