我刚刚在浏览器(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] 删除。
我来说两句