文档的<!DOCTYPE>
声明(和内容类型)保持相关的抽象级别是什么?
例如,如果我正在使用XHTML但想要使用XHTML中不可用的元素 - 一个简单的例子就是iframe - 使用JavaScript以编程方式添加元素是不好的做法?或者我是否必须不使用iframe或不使用XHTML?
验证器仍将验证文档 - 因为它不执行JS - 但修改DOM时理论上存在错误,因此它不再与<!DOCTYPE>
(和返回的内容类型)一致,或<!DOCTYPE>
仅在文本形式下与标记相关?
更具体地说,我的问题不是<!DOCTYPE>
将如何影响JavaScript或JavaScript将如何执行,而是它如何影响开发人员以编程方式添加,删除和修改元素的选择。< / p>
我的例子是,如果客户都想要XHTML合规性和WYSIWYG编辑器,你如何处理经常与WYSIWYG编辑器一起出现的iframe?你应该从标记中删除它,只在JS中document.appendChild()
它吗?或者你告诉你的客户他们必须在两者之间做出选择 - iframe或XHTML?
答案 0 :(得分:3)
标准术语中的DOCTYPE定义描述了标记。因此,一旦用户代理解析了标记,则DOCTYPE在这方面是无意义的 。实际上,DOCTYPE也会触发浏览器行为,因此您对DOM动态执行的操作会受到DOCTYPE的影响。
答案 1 :(得分:1)
Eesh,我明白你的意思了。如果你有一个客户认为网页没有任何好处,如果它不是XHTML,那么谈论它们可能会很棘手。
值得一试:花时间编写JavaScript来插入在XHTML中无效的元素似乎毫无意义,而不仅仅是使用允许元素的doctype。
<iframe>
仍然允许在XHTML 1.0 Transitional中使用,不是吗?这是一个选择吗?
答案 2 :(得分:0)
我绝不是一个狂热的规则或标准,但是将HTML元素插入到不支持该元素的doctype中是愚蠢的,因为它可能导致一些微不足道的问题不可能调试。
所以:它可能会起作用,也没问题。 (您的老板或客户永远不会发现,因为验证器只能在基本HTML上运行)。
我仍然不建议这样做。