2011-05-22 60 views
2

生活是美好的,采用严格的XHTML中有很多成功当XHTML DOCTYPE不验证时会发生什么?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

...然后,砰!您将Vimeo视频投射到您的页面上,以打破验证。

<iframe src="http://player.vimeo.com/video/XXXXX?byline=0&amp;portrait=0" width="468" height="351" frameborder="0"></iframe> 

没有内联框允许,先生!

那么,它对页面呈现方式或对访问者的影响有什么影响?为什么关心这个iframe的验证?

回答

2

它没有网页本身产生影响。除非你是担心验证,我会留在过渡文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

iframe验证是完全取决于你。与每种文档类型比较的元素的Here is a list

+0

这是非常有用的,但我[阅读](http://24ways.org/2005/transitional-vs-strict-markup),“使用严格DOCTYPE的额外好处是,这样做将确保浏览器使用他们最严格,最符合标准的渲染模式。“思考? – Craig 2011-05-22 02:12:51

+1

我不得不同意,我也想指出,我宁愿严格的文档类型比过渡,因为我会受益于验证和干净的语义结构。但是将iframe插入严格的文档类型几乎没有什么作用,它仍然可以在不同的浏览器上查看。在你的情况下,你可以选择严格或过渡 - 与过渡,你会有更多的灵活性在您的HTML。 – breezy 2011-05-22 14:40:35

0

是否可以将Flash播放器嵌入为<object>而不是?事情是这样的:

<object width="400" height="300" type="application/x-shockwave-flash" data="url"> 
    <param name="allowfullscreen" value="true" /> 
    <param name="allowscriptaccess" value="always" /> 
    <param name="movie" value="uri" /> 
</object> 

此处了解详情: Vimeo Flash Player (Moogaloop)

+0

传统(非iframe)代码可以[手动调整](http://ken-blog.krugler.org/ 2008/06/14 /转换-vimeo-embedded-html-to-xhtml /),但我更感兴趣的是当我“打破”文档类型时会发生什么。 – Craig 2011-05-22 01:55:33

0

什么都不会发生。浏览器不验证您的(X)HTML,所以与您的XHTML严格的文档类型在所有浏览器中都能正常工作。但如果你想要标准模式,并且还想验证,我建议HTML5文档类型<!DOCTYPE html>