Re: src 与 srcset(或是 src-N)的 JS 交互

我的意见是:
(1)能不引入新标签就不引入。因此我认为 src-N 的方向优于 <picture> 标签。
(2)对于 src/src-N,我倾向于通过一个统一的接口来操作,比如说增加一个 srcList 对象,这样我们就可以通过类似
srcList.set('1x', 'url-to-image.png')、srcList.set('2x',
'url-to-hd-image.png') 这样的方式来更改属性。相应的也可以用 getter 来获取某种缩放比例的使用图片,或通过 key
枚举来判断某种比例是否已设置。


在 2013年10月23日下午12:02,Kang-Hao (Kenny) Lu <kanghaol@oupeng.com>写道:

> 除了 <picure> 提案以外,srcset 或是 src-N 里面,我觉得最有疑义的都是这个
> 这个问题:
>
>   对
>
>     <img src="image.png" srcset="image-HD.png 2x" />
>
>   运行
>
>     img.src = "newimage.png";
>
> 之后,<img> 应该改变成什么?
>
>   1) <img src="newimage.png" srcset="image-HD.png 2x" />
>   2) <img src="newimage.png" />
>
> 我比较倾向 2) 一点。一来,我不觉得有人会想产生 1) 这样的结果,二来我觉得
> 比较重要的理由是:有可能写 HTML 的人不会去管 JS,擅自在页面里会被 JS 操
> 作的 <img> 元素加上 srcset 属性,但是没去处理 JS 里的 .src 的代码,这样
> 就会造成脚本换不了图片的问题(参见测试案例[1])。
>
> 另外,假如脚本换的新 <img> 没有高清的版本,代码里就需要出现
>
>   img.srcset = "";
>
> 这种不自然的代码。
>
> 当前 WebKit/Blink 是实现 1),规范也是这样写的。大家怎么想呢?
>
>
> 这个是写入 .src 的问题,读取 .src 这个也有人提议[2]是不是应该读出选择到
> 的 URL,这个我是觉得合理,不过看起来不急迫了些。相对来讲,上面的问题不知
> 道会不会产生严重的兼容问题,毕竟现在的 polyfill 都是操作 .src,可能没人
> 注意到 @srcset 会屏蔽掉 @src 的问题。
>
>
> [1] http://jsbin.com/OVUQoXO/3/edit

> [2]
> http://lists.w3.org/Archives/Public/public-respimg/2012Nov/thread#msg18

>
>
> 以上
>
> Kenny
> --
> Web Specialist, Opera Sphinx Team, Oupeng Browser, Beijing
> Try Sphinx: http://sphinx.oupeng.com/

>
>

Received on Wednesday, 23 October 2013 07:59:56 UTC