Re: WebIDL 簡介(轉: Why not NodeList#forEach :\?)

(12/06/28 22:04), John Hax wrote:
> 显然应该是 forEach 方法。

那就是要 [[OverrideBuiltins]][1]。

> 我给提过这个bug:
> https://bugzilla.mozilla.org/show_bug.cgi?id=322488

可以找一個 Mozilla 社區的人幫你看一下。

> OverrideBuiltins根本就是胡扯!bullshit!我强烈抗议这种扯淡的特性。
> window上也不应该有

你是說 [[OverrideBuiltins]] 還是 getter?還是都很胡扯?看你 bug 的意思好
像是反對 HTMLFormElement 上的 getter,你可以照[2]的方式給 HTML 規範提一
個 bug,有空的話可以做一點兼容研究(類似阿菲的 big5 研究),證明拿掉這個
功能會壞掉的網頁數是在一個可接受的範圍。

不過不管怎麼樣,"Such behavior is undocumented" 這句話在這個時間點確定不
正確,HTML + WebIDL 把這些行為都描述的相當清楚。

>(而且现在也没有了)。

測了一下,Chrome 19、IE 9、Opera12apha 都有,只有 Firefox 沒有,規範這裡
雖然有這個 getter,不過寫得相當中立了:

  # It is possible that this will change. Browser vendors are
  # considering limiting this behaviour to quirks mode. Read more...

Bugzilla 上有很長的辯論,有興趣的話可以追蹤一下,引用一句[3]:

[[
We made some targeted changes in this area in IE9. Our data suggests
that making this quirks only would break a large number of web sites.
]] ~ Adrian Bateman @ MSFT

> 任何一个DOM接口上都不应该有这样扯淡的特性。

就我所知,很多人很喜歡用這個功能的,比如說 winter 給我們寫的 HTML5 規範
翻譯進度統計器[4](不過是怪癖模式)

[1] http://dev.w3.org/2006/webapi/WebIDL/#OverrideBuiltins
[2] http://lists.w3.org/Archives/Public/public-html-ig-zh/2011Aug/0067
[3] https://www.w3.org/Bugs/Public/show_bug.cgi?id=11960#c8
[4]
http://lists.w3.org/Archives/Public/www-archive/2011Nov/att-0004/html5translate_analyser


以上

Kenny

Received on Thursday, 28 June 2012 15:08:18 UTC