提问人:myf 提问时间:9/15/2023 更新时间:9/15/2023 访问量:47
如何使用 devtools 或 JavaScript 代码段判断加载的页面是否为 XML 处理的 XHTML
How to tell if loaded page is true XML-processed XHTML or not, using devtools or JavaScript snippet
问:
检查连接到远程服务器失败时显示的 Firefox 系统页面显示明显的迹象表明它是真实的页面:application/xhtml+xml
有显式的,所有元素,甚至是 void 元素,都有结束标记,所以它很可能被处理为 XML。这就带来了一个问题:xmlns="http://www.w3.org/1999/xhtml"
对于在此类页面中加载的脚本或开发人员工具命令,将XML处理的页面与常规HTML区分开来的最简单方法是什么?
在这两种情况下,检查属性都会给出。document.documentElement.namespaceURI
"http://www.w3.org/1999/xhtml"
- 什么 DOM 属性或方法可以用作签名页是 XML?
- 或者是否需要一些更复杂的检测过程(例如做一些专门在XML中工作的DOM/XSLT/实体的东西)才能确定?
所描述的系统页面的来源可能是,但是,当直接显示时,它不起作用。view-source:chrome://global/content/aboutNetError.xhtml
答:
1赞
Martin Honnen
9/15/2023
#1
document.contentType
应该提供 XML 解析的 XHTML 文档和 HTML(5) 解析的 HTML 文档。"application/xhtml+xml"
"text/html"
规格:WHATWG:contentType,文档:MDN:文档:contentType 属性。
演示:
This document's <code>contentType</code>:<br/>
<script>document.body.append(document.contentType)</script>
<hr>
<p>Iframe with minimal XHTML and same content:</p>
<iframe src='data:application/xhtml+xml,
<html xmlns="http://www.w3.org/1999/xhtml"><body>
This document%27s <code>contentType</code>:<br/>
<script>document.body.append(document.contentType) </script>
</body></html>
'></iframe>
评论
document.contentType
application/xhtml+xml
text/html
document.contentType
"application/xhtml+xml"