是否有一个现成的解决方案,根据浏览器分辨率发送隔行扫描JPEG的一部分?

时间:2011-10-30 23:13:33

标签: networking node.js jpeg filestream progressive

我问你是否知道是否有现成的解决方案,而不是真的如何做到这一点。

我很确定我可以自己完成它,即使我从未用手动触摸JPEG的字节。如果你想要它的一个裂缝,你被邀请这样做;)

基本的想法是,您有一个包含少量JPEG图像的网站,但您希望尽可能减少移动用户的负载。

因此,您要确保所有JPEG都是渐进式的,并且只先发送它的低频位,空闲TCP连接,然后等待客户端报告可用空间的大小。浏览器窗口。

或者,你有某种browsercaps.ini或类似的东西,依靠它来获得初步解决方案 - 然后让记者在必要时报告更正。

我实际上需要两个完全独立的环境,一个使用PHP,另一个使用node.js(后者更重要)。

我很确定picasaweb已经在做这些事了,或者至少做过。你可以查看一个图像,它会逐渐加载 - 然后你可以放大它,它会变得块状但是继续逐渐加载,我记得我对它印象深刻!

(谷歌为自己保留了很酷的东西是不公平的,记住他们的座右铭{°«°])

1 个答案:

答案 0 :(得分:1)

为什么不向客户端发送可用于特定img标记的图像列表,然后让客户端确定应该使用哪一个?

可以确定设备document.write(screen.width+'x'+screen.height);size of the browser的屏幕尺寸。而不是为每个图像添加src属性,将可能的源添加到html5 data-属性,如下所示:

<img data-img="mobile:some-img.jpg,desktop:other-img.jpg" />

JavaScript(使用jQuery):

$('img').each(function(){
    $(this).attr('src', $(this).attr('data-img').split(',')[0].split(':')[1]);
});