最近傳的文章「HTML6 展望」中的命名空間有什麼意義?

在標籤前要加 html: 以及閉合是要加 /html: 不是很麻煩?而且可讀性也更差了。
為什麼會有這樣的展望?

中文版:IT牛人博客聚合
英文原文:HTML6 - The Spec That Brings Us Freedom


這個的意義主要在於處理引入Web Components所帶來的副作用。

Web Components有個重要部分叫做自定義元素,意味著你可以封裝出一個自己的元素標籤來,比如:

&&

但這個在工程協作上是有一些問題的。

比如說,你定義了一個片狀列表:

&&

別人也可能定義了這麼個列表,名字一樣。

現在的Web逐漸應用化,也就是說,這些東西有可能共存到一個頁面的作用域中,那就有問題了,有可能左邊你要用a組織提供的列表,右邊要用b組織提供的,但名字都一樣,雖然說可以修改源碼,把其中一個改名,但那就太噁心了。

如果有命名空間,兩個列表分別編成:

&&
&&

就不會有歧義了。

回到主貼的問題,我覺得那種寫法也不合理,原生元素應當位於默認命名空間中,也就是可以省略命名空間,僅對自定義元素要求加這種前綴,不然這代碼沒法寫了,而且做兼容也很煩。


這個只是某人自己寫著玩的而已。文章開頭都說了:

I copy pasted this years ago, from a blog I don"t write at anymore.
I first published this nearly three years ago. The site is getting a ton of
traffic out of nowhere. I haven"t updated this aside from minor typos since
then. Seriously, it was just some random thing I did for fun one day. It"s in
no way a real spec and should not be taken seriously.

就namespace說一句。namespace是已被html5拋棄的,儘管我也認為namespace是好的,但是估計html標準不會走回頭路。


coffee script能解決js所謂的命名空間的問題(大家按coffee生成的這麼寫js就好了)。
shadow dom能解決HTML裡面樣式污染的問題。
iframe也能啊。
沒什麼必要啊。


給自己一個正當的抄襲XAML的理由。


推薦閱讀:

你最喜歡的 Web 開發框架是什麼?
老師說我抄代碼,心裡超委屈,內心無法平復怎麼辦?
蘋果網站 iPad Air 介紹頁,隨著網頁滾動設備翻滾和畫面變化的效果具體怎麼實現,是視頻嗎?

TAG:Web開發 | 前端開發 | HTML | 命名空間 |