
不要让标准如此通用,为什么他们不这样做,以便在页面顶部明确指定您要定位的标准版本?而不是<!DOCTYPE HTML>,执行类似<!DOCTYPE HTML = 5>的 *** 作.因此,当未来的浏览器出现HTML 6时,他们会看到行<!DOCTYPE HTML = 5>他们知道这个页面不知道HTML 6标准,所以为了保证页面不会中断,浏览器会回归到HTML 5标准.
这就像是一种向后兼容性方法,因此您今天编写的页面可以保证工作数十年.当然,您不应该等待数十年来更新您的页面,但至少您知道它不会打破标准的新版本出现的那一刻,同时您的页面支持旧版浏览器而不更改一行HTML .
为什么不是这样的事情?这种方法有什么问题?
@H_419_4@解决方法I understand that
<!DOCTYPE HTML>makes the browser render the page in standards mode,but that does not prevent your page from breaking when say,HTML 6 comes out.
是的,它确实.对HTML的添加旨在向后兼容,以便浏览器不会错误地开始渲染较旧的页面.
Instead of making standards so generic,why don’t they make it so that at the top of your page you explicitly specify the version of the standard you’re targeting?
他们尝试了这一点,虽然出于不同的原因(HTML被设计为SGML应用程序,但浏览器并没有这样实现). HTML 5之前的每个HTML和xhtml版本都是这样做的.浏览器没有区分版本(仅在怪癖/几乎标准/标准模式之间,所有这些都对CSS和DOM的处理产生了更大的影响).大多数作者没有编写代码来匹配他们使用的DOCTYPE.
如果浏览器看到它无法识别的DOCTYPE,应该做什么?它可以拒绝呈现页面(根本不会帮助用户),也可以尝试尽可能地呈现它(这就是它的作用).
如果浏览器看到不支持文档中的元素的DOCTYPE,应该做什么?它可以忽略它们(这对任何人都没有帮助),抛出一个错误(这可以帮助开发人员,但只有当开发人员在市场上限制最多的浏览器中测试,否则它只会伤害用户),或者渲染它们尽力而为(这就是它的作用).
DOCTYPE Switching和Quirks模式的重点不是支持为旧版本的HTML设计的网页,而是支持针对早期极其错误的浏览器设计的网页.
今天,浏览器设计得更好,测试更严格,他们的作者更好地编写新的HTML / CSS / DOM功能规范,为他们创建测试套件,并在他们之前有多个功能实现(在不同的浏览器中)获得公开的,没有前缀的实现,这些实现没有锁定在浏览器内部的配置选项后面.这大大减少了随着浏览器更新而可能破坏的事物的数量,因此没有重要的新错误需要保持向后兼容.
they kNow that this page has no IDea about the HTML 6 standards,so to guarantee that the page will not break,the browser falls back to HTML 5 standards.
请参阅上面的向后兼容性.
@H_419_4@ @H_419_4@ @H_419_4@ @H_419_4@ 总结以上是内存溢出为你收集整理的HTML – 网页可以作为未来证明吗?全部内容,希望文章能够帮你解决HTML – 网页可以作为未来证明吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)