Angularjs 不带DOCTYPE的HTML注释

Angularjs 不带DOCTYPE的HTML注释,angularjs,html,google-chrome,amp-html,Angularjs,Html,Google Chrome,Amp Html,我遇到了一个配置问题,我正试图调试一个角度/AMP设置。我有预感可能是什么问题,但我很难验证一些编译器是否会在不存在的情况下误解HTML注释(这本身就是一个问题) 为了提供我正在使用的页面的简单概述,该站点在none AMP页面上的DOM中呈现如下内容(注意缺少) 富网站 Angular模板将检查站点是否为有效的AMP页面,如果是,将返回AMP链接,并将留下 <html> <head> <!----> <link rel="amphtml

我遇到了一个配置问题,我正试图调试一个角度/AMP设置。我有预感可能是什么问题,但我很难验证一些编译器是否会在不存在
的情况下误解HTML注释(这本身就是一个问题)

为了提供我正在使用的页面的简单概述,该站点在none AMP页面上的DOM中呈现如下内容(注意缺少


富网站

Angular模板将检查站点是否为有效的AMP页面,如果是,将返回AMP链接,并将留下

<html>
<head>
  <!---->
    <link rel="amphtml" href="https://www.foo.com/amp/document.html">
  <!---->

</head>
  <body>
    <p>Foo site</p>
  </body>
</html>
我意识到一个有效的HTML注释类似于
,但是当
不存在时,编译器可能会将类似
的内容解释为注释吗?具体来说,你能把这看作是一个评论吗

在Chrome63中查看AMP链接,一切看起来都是有效的,但我想在继续挖掘问题之前排除这一假设


对于这个愚蠢的问题,请提前表示感谢和歉意:)

在这种情况下,Chrome 41不被视为旧浏览器


寻找一个下载旧版本的线程,以完全确定。

不清楚“编译器”是什么意思,但就浏览器中HTML解析器的行为而言,我认为您可以根据文档是否具有doctype,以任何不同的方式排除任何浏览器解析器处理问题中标记片段中的注释的情况

由于缺少doctype,HTML解析器陷入困境,解析/呈现行为中出现了许多“怪癖”——一些记录在中,另一些记录在、规范、HTML规范本身中,以及非正式地记录在

但在这些记录在案的怪癖中,没有一个是与注释解析相关的怪癖

如果存在这样的怪癖,几乎可以肯定它是HTML规范本身解析算法的一部分

我想这是可以想象的,一个不符合HTML规范中解析算法的解析器可能会对问题中显示的标记片段做一些不同的事情-但是对于浏览器中的解析器来说,至少在过去6年中,所有现代浏览器版本都实现了符合HTML规范中解析算法的解析器

例如,自(2010年)以来的Chrome


因此,我认为您可以消除任何浏览器引擎根据是否存在doctype对标记案例进行不同分析的可能性。

Fair point on the older browser comment(旧浏览器注释)将编辑我的问题。我将查看您现在指出的链接…感谢您指出如何下载旧版本的链接,jornare。刚刚确认Chrome41能正确看到评论。哇,sideshowbarker。。。非常感谢你不仅回答了我的问题,而且还教会了我很多新的东西。我仍在努力想这些,但这是难以置信的信息和有趣的。