更改不同大小(台式机、平板电脑、移动设备)的内容图像(_C)?

时间:2014-01-18 作者:Gregory Schultz

这可能是一个复杂的问题,所以我会尽量简单地解释。我的帖子中有三种大小的图像(缩略图、中、大、640px、小),我想根据浏览器大小更改大小。我在考虑加载三幅图像(小、中、640px)并使用css根据屏幕大小隐藏和显示图像。有没有办法做到这一点?我也愿意接受其他建议。

谢谢,Gregory S。

1 个回复
最合适的回答,由SO网友:Borek 整理而成

呵呵。。。我可以问你这有什么意义吗?因为人们会认为这是为了节省带宽和缩短页面加载时间。那么,为什么您总是想加载这三个呢?这个display: none 不会阻止将图像加载到DOM中。它们仍将加载-只是不显示。只需加载最大的一个,使用CSS完全适应浏览器/容器,浏览器就会自动缩小图像。这样可以节省中小型图像加载时间。这只是一张图片。假设有人正在访问你的博客页面(通过手机),页面上显示了20篇帖子。使用您的方法,您必须将加载的图像数量增加三倍,从20个增加到60个(小、中、大各一个)-疯狂!

另一种方法是检测用户实际使用的窗口大小(通过jQuery),然后基于此加载特定图像。我相信您会明白的,因为在jQuery中编写这样的函数并不是那么困难。例如,下面是我为视网膜设备的图像替换编写的fn之一。其工作原理相同-首先,它检测设备是否为高像素密度,如果是,它将图像中的名称从“normal”替换为“retina”,从而更改加载的图像:

jQuery(document).ready(function(){
    if (window.devicePixelRatio > 1) {
        var images = jQuery(\'img\');

        images.each(function(i) {
            var lowres = jQuery(this).attr(\'src\');
            var highres = lowres.replace("normal", "retina");
            jQuery(this).attr(\'src\', highres);
        });
    }
});

结束

相关推荐

撤消定义(‘UPLOADS’,‘’.‘FILES’);以重指向“wp-Content/Uploads”文件夹

是否可以通过使用将“wp content/uploads”设置为使用不同的文件夹define( \'UPLOADS\', \'\'.\'files\' ); 我已经永久有效地更改了所有路径,如果是这样的话,我如何撤消它,使其指向“wp内容/上传”?我认为只要把define( \'UPLOADS\', \'\'.\'files\' ); 我会解决一个问题,我上传到WP的文件不想下载,因为URL不是文件的正确路径。