【发布时间】:2013-03-02 02:53:46
【问题描述】:
我怎样才能做到这一点,以便在我的网站的移动版本中,图像不会从网络服务器下载到,因为这些是不需要且未使用的大文件,因此会严重影响移动版本的使用的网站。在查看了以前此类性质的线程后,我发现使用如下代码隐藏图像的父级会受益。
.parent {display:block;}
.background {background-image:url(myimage.png);}
@media only screen and (max-width:480px) {
.parent {display:none;}
}
问题是我不想将背景图像 CSS 用于与它们相关的 SEO 问题,因为我喜欢使用 Schema 标记等 ..所以如何防止 IMG 标记被下载,如 display:none;仅隐藏图像而不是停止下载。
注意:这不适用于版权保护问题,例如防止右键单击等,但为了速度和最终下载内容到移动设备的大小。
【问题讨论】:
-
有几种脚本和技术可以用来嗅探发出请求的设备。可以在这里找到几个,听起来像这样的那些显示了如何将客户端转发到网站的移动版版本,无需大量图像下载。请注意,我也不相信它们中的任何一个都是万无一失的;这是一个不断发展的浏览器或设备世界。但有些时候应该会给你你想要的。
-
听起来你需要使用一点 Javascript。我不确定你是否可以使用任何 CSS 来告诉浏览器不要去下载图片。
-
就个人而言,我可能会拥有所有图像标签,例如
<img data-src="img_url.jpg" />,然后可能会检查屏幕尺寸以确定它是否是手机/平板电脑/PC,然后选择所有图像并交换@987654324 @ 值到load上的src值中,以便尽快发生这种情况。如果您提前知道图像的大小,那么设置这些图像的width和height属性也会很有用。There's got to be a library for this somewhere. I'm sure it will be posted soon as a response.... -
当然,另一种选择是使用脚本为您的
img文件提供服务,并使用该脚本通过某种类型的检测脚本阻止下载到客户端。 -
@HenryQuekett,看看Mobile Detect,它是处理这类事情的一个相当有用的工具包。
标签: html css performance mobile