多年来我在多个不同的浏览器中看到过这种行为(至少Chrome,Firefox和Opera),但最近才出现在Opera和Chrome中 - 我认为Firefox在某些时候修复了它。如果我有一个页面将相当大的数据块(数千行HTML)推送到浏览器,如果我在数据中使用任何HTML实体,则在查看源代码时会出现格式错误。
例如,我放了一个"右下方的铅笔"实体(✎ - 或✎
)在整个页面内容中标记"编辑"链接。但是,当我在任何浏览器中加载同一页面并单击"查看源代码"时,我看到一个随机代码,它通常与实际硬编码到页面HTML中的内容不匹配。一些例子包括:
&x#x2#x270E;
,&#x#x270E;
,ɰ#x270E;
检查Fiddler捕获的发送到浏览器的实际源代码表明浏览器确实收到了CORRECT代码。一旦浏览器尝试在视图源选项卡中显示它,某些东西似乎就会出错。
它也与其他代码一起发生,
变为&nbnbsp;
或&nnbsp;
等。神秘地,这些随机化每次刷新。偶尔会出现正确的问题,但大部分时间都会出现乱码。代码似乎在前端正确呈现,这只是每个主要浏览器中的错误,还是我在通过HTTP推送大量数据集时是否应该关注数据丢失?
过去的测试
我进行了两次测试以证实这一点:
(1)将单个字符压缩到公共面向AWS LAMP服务器上托管的有效HTML5页面内容中。查看Opera中的内容并查看源代码。大多数都没问题,但大约一半的时间开始绊倒,并且在整个过程中偶尔继续:
'#x270E;
(2)将单个字符压缩到托管在Intranet Windows服务器上并通过NetExtender VPN提供的有效HTML5页面内容中。与第一次测试结果相同。
ɰ#x270E;✎
重现步骤:
我已经在几个不同的网络上对几个不同的系统(目前为Windows 7和10)进行了测试。但是,如果其他人能证实这一点,我将不胜感激。
...等。Opera 49.0插图
请参阅下面的代码检查器如何显示正确的HTML实体代码。但是,当您查看同一部分的页面源时,代码会格式不正确。