热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

浏览器为何将“<??>”解析为“<!-??->”?

如何解决《浏览器为何将“<??>”解析为“<!-??->”?》经验,为你挑选了1个好方法。

我有一个带有以下HTML代码的文件:

Curl返回正常响应:

$ curl file:///path/to/the/file.html

但是,当我使用Firefox 69或Chrome 77解析该响应时,没有显示任何内容,因为HTML代码如下:

对我来说看起来很奇怪。为什么会发生?

谢谢。



1> Kaiido..:

这是HTML标记化规则的一部分。

<字符做浏览器中输入标签打开状态。

12.2.5.6标签打开状态

消耗下一个输入字符:

U + 0021感叹号(!)

切换到标记声明打开状态。

U + 002F SOLIDUS(/)

切换到结束标签打开状态。

ASCII字母

创建一个新的开始标记令牌,将其标记名称设置为空字符串。重新使用标签名称状态。

U + 003F问号(?)

这是一个意外的问题标记而不是标记名称解析错误。创建一个注释令牌,其数据为空字符串。

在虚假评论状态下恢复。

...

因此,您的?字符被视为一个已知错误,然后解析器切换到伪注释状态,这会将所有内容>放入注释标记中的下一个字符。


推荐阅读
author-avatar
hqgj15087878726
缅甸环球国际开户:15087878726游戏网址:www.6662016.com
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有