对于学校,我必须做一个网站,它必须使用那些肮脏的老的框架。我已经抱怨这对我的老师没有任何成功:(
我想使用HTML5,但似乎框架已被弃用。我真的需要使用XHTML或HTML 4吗?是否有一些解决方法,使我的网页使用框架验证HTML5?
解决方法
现在,有很多例子我回答关于为什么下面的验证规则是重要的问题。我也说过,有时你只需要成为一个反叛者,打破规则,并记录原因。
你可以看到在这个例子中framesets do work in HTML5 still.我不得不下载代码,并在顶部添加一个HTML5的doctype,但是。但是框架集元素仍然被识别,并且实现了期望的结果。
因此,知道使用框架集是完全荒谬的,并且知道你必须使用这个由教授/老师决定,你可以只处理W3C验证器中的单个验证错误,并使用HTML5视频元素以及不建议使用的框架集元素。
<!DOCTYPE html> <html> <head> </head> <!-- frameset is deprecated in html5,but it still works. --> <frameset framespacing="0" rows="150,*" frameborder="0" noresize> <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top"> <frame name="main" src="http://www.google.com" target="main"> </frameset> </html>
请记住,如果它是一个学校的项目,这很可能不会是一两年后,一旦浏览器供应商完全删除框架集支持HTML5。只是知道你是对的,只是做你的老师/教授只是得到的成绩:)
更新:
toplevel父文档使用XHTML,框架使用HTML5。验证器没有抱怨框架集是非法的,并没有抱怨视频元素。
index.PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html> <head> </head> <frameset framespacing="0" rows="150,*" frameborder="0" noresize> <frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top"> <frame name="main" src="video.html" target="main"> </frameset> </html>
video.html:
<!doctype html> <html> <head> </head> <body> <div id="player-container"> <div class="arrow"></div> <div class="player"> <video id="vid1" width="480" height="267" poster="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb480.jpg" durationHint="33" controls> <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb_trailer_iphone.m4v" /> <source src="http://cdn.kaltura.org/apis/html5lib/kplayer-examples/media/bbb400p.ogv" /> </video> </div> </body> </html>