HTML5支持真正需要什么?

时间:2012-09-05 20:51:07

标签: html html5

我使用的是像header这样的HTML5代码,并使用的是html5shiv:http://code.google.com/p/html5shiv/

查看这些文件,似乎所有内容都过了一堆不必要的文件,所以我通过html5shiv http://css-tricks.com/snippets/javascript/make-html5-elements-work-in-old-ie/研究了一种更简单的方法,只需添加“hotlink”:http://html5shiv.googlecode.com/svn/trunk/html5.js并让他们主持其余的。

然后我在想,即使这段代码似乎过头了。为什么我不能只使用createelement http://reference.sitepoint.com/javascript/Document/createElement,为什么我一般需要所有html5shiv代码?

以下是一些代码:http://html5shiv.googlecode.com/svn/trunk/html5.js

.cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?
g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var 
n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join()

我不是JavaScript的专业人士,但我不明白为什么这是必要的?

1 个答案:

答案 0 :(得分:1)

HTML5Shiv修复了在IE中使用HTML5元素的几个问题,而不仅仅是能够在第一时间创建元素的明显问题。第一个版本就是这样,但后来的版本为其他问题添加了进一步的修复。

我所知道的另外两个问题是:

  • 包含HTML5元素的打印页面的错误。
  • 与HTML5元素一起使用时.innerHTML的错误。

允许将这些元素添加到页面的基本问题是相当简短的代码,但这些其他两个问题是大量HTML5Shiv代码的来源。

HTML5Shiv历史的完整记录以及添加这些内容的时间可以在这里找到:http://paulirish.com/2011/the-history-of-the-html5-shiv/