为什么Javascript会忽略单行HTML注释?

阿迪亚

我刚刚在浏览器(Chrome 39,Windows 8)上尝试了以下代码:-

<html>
    <body>
        <script>
        <!-- 
            document.write("<h1>Hello</h1>");       
        -->
        </script>
    </body>
</html>

这将在浏览器上生成标题文本。但是,当我稍作更改时,将HTML注释内容放在一行上,

<html>
    <body>
        <script>
        <!-- document.write("<h1>Hello</h1>");        -->
        </script>
    </body>
</html>

这不会显示任何内容。为什么会这样呢?我认为HTML注释不属于Javascript标准。

PS我知道如何把JavaScript注释。我只是想知道这种不稳定的行为。

托比亚斯

这是将javascript隐藏给无法识别该script元素的浏览器的方法始终忽略第一行:隐藏来自用户代理的脚本数据

用JavaScript注释脚本

JavaScript引擎允许字符串"<!--"出现在SCRIPT元素的开头,并忽略其他字符,直到该行的结尾JavaScript解释"//"为开始注释,并扩展到当前行的末尾。这是"-->"从JavaScript解析器隐藏字符串所需的

<SCRIPT type="text/javascript">
<!--  to hide script contents from old browsers
  function square(i) {
    document.write("The call passed ", i ," to the function.","<BR>")
    return i * i
  }
  document.write("The function returned ",square(5),".")
// end hiding contents from old browsers  -->
</SCRIPT>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

HTML注释<!-是否在JavaScript中充当单行注释,为什么?

为什么Spring会忽略我的@DependsOn注释?

单行注释会阻止函数运行,多行注释不会引起问题,为什么?

为什么我的html代码会忽略我的js?

为什么Jersey忽略了我的Jackson注释?

为什么CMake会忽略源文件?

为什么Spring会忽略@Required?

为什么setInterval()会忽略错误?

为什么Java会忽略我的serialVersionUID?

为什么Mongo查询会忽略索引

为什么bash会忽略SIGTERM?

为什么WCF会忽略我的TokenProvider?

为什么gcc会忽略__attribute __((stdcall))?

为什么会忽略运行路径?

为什么sql会忽略我的句子?

为什么我的Java程序会忽略另一个html中的List?

为什么在创建url-Object时javascript会忽略url-string的端口?

如果忽略换行符,JavaScript如何解析单行注释?

为什么 Rust 似乎忽略了我的生命周期注释?

为什么在绑定用@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)注释的LocalDateTime时,Spring会忽略输入字符串的时间偏移?

为什么以TX注释驱动会产生冲突?

为什么Android下的注释会导致性能问题(缓慢)?

为什么/ * * /注释的行为不同?Javascript错误?

铁路由器为什么会忽略waitOn?

为什么我的MaybeT(State <type>)()会忽略状态更改?

为什么CSS会忽略属性下的选择器

为什么文件上传会忽略语言设置?

Chrome为什么会忽略OS X上的/ etc / hosts?

为什么`date`会忽略TZ环境变量?