有没有人知道在FireFox 3.x中做什么和不做评论?

exo*_*boy 0 xhtml firefox commenting

我决定展示我正在谈论的一个突破版本.如何弄乱布局并不重要,只会导致DIV元素为空....

 <!-- [ top panel ] --><div id="top_panel">
 <!-- -------------------------------------- -->
    <script type="text/javascript">
   alert(document.getElementById('top_panel'));
    </script>
 </div>
Run Code Online (Sandbox Code Playgroud)

上面的代码将每次返回元素为null ....如果我增加或减少破折号的数量,只要内部破折号以一对结束的破折号结束,它仍然会失败.为了举例,我将使用[open]和[close]来表示成对的" - "破折号...

所以,代码最终会以这种方式解释为:

 <!-- [close][open][close][open][close][open][close][open][close] -->
Run Code Online (Sandbox Code Playgroud)

在这个例子中,它是最后一个[close]和" - >",它现在导致一个开放的悬挂评论.

这些天我似乎只在FF中遇到基于评论的问题.所有其他浏览器似乎都没有我抛出的东西......

我知道这不是法律评论,但它仍然没有改变我不得不绊倒这种情况以了解这个问题的事实......我希望其他人可以避免同样的简单问题并分享他们自己的曲折在任何浏览器中出现奇怪的,基于注释的问题...我确信这不是唯一一个好的评论变坏的例子.

我也明白在"<"之后留一个空格也是禁忌:"<"+""+"!" +" - "= Nooooo!

谢谢大家的帮助!

Mar*_*ers 5

您不能使用--内部注释,因为它结束了注释.这不是Firefox的东西 - 它是由标准定义的.任何不被视为--评论开始/结束的浏览器都做错了,最有可能最终修复错误.

标记声明打开分隔符("<!")和注释打开分隔符(" - ")之间不允许有空格,但允许在注释关闭分隔符(" - ")和标记声明关闭分隔符之间使用空格( ">").常见错误是在注释中包含一串连字符("---").作者应避免在注释中放置两个或多个相邻的连字符.