Javascript 什么会使Internet Explorer无法正确处理条件注释?

Javascript 什么会使Internet Explorer无法正确处理条件注释?,javascript,html,internet-explorer,conditional-comments,Javascript,Html,Internet Explorer,Conditional Comments,我正在编写JSP页面并使用Tomcat,除了Firefox和Chrome(客户端需要)之外,它还需要用于IE7 在我的程序中,我包含了两段代码。它适用于非IE浏览器 我的问题是,代码A不能正确地用于IE,因为它将其视为注释,而不是它应该读取的条件注释。知道为什么会发生这种情况以及如何解决吗 <script type="text/javascript"> ... <!-- CODE A --> <!--[if IE]> url = "http:/

我正在编写JSP页面并使用Tomcat,除了Firefox和Chrome(客户端需要)之外,它还需要用于IE7

在我的程序中,我包含了两段代码。它适用于非IE浏览器

我的问题是,代码A不能正确地用于IE,因为它将其视为注释,而不是它应该读取的条件注释。知道为什么会发生这种情况以及如何解决吗

<script type="text/javascript">

 ...

 <!-- CODE A -->
 <!--[if IE]>
   url = "http://" + "..." + "&var=1";
 <![endif]-->

 <!-- CODE B -->
 <!--[if !IE]> -->
   url = "http://" + "..." + "&amp;var=1";
 <!-- <![endif]-->

 ...

</script>

...
url=“http://”+“…”+“&;var=1”;
...

条件HTML注释仅适用于HTML。JavaScript不是HTML。而是在JS中使用条件JS注释:

var IE = /*@cc_on!@*/false;
(只有IE才能解释
,从而有效地使
为真

然后您可以按如下方式使用它

if (IE) {
    url = "http://" + "..." + "&var=1";
} else {
    url = "http://" + "..." + "&amp;var=1";
}

但是,在JS中应该首选功能检测。

我认为您不能在JavaScript中使用条件注释。您是否尝试过将所有内容包装到单独的
标记中?请编写一次脚本,然后编写它以使其正常工作。浏览器检查是个坏主意™.您的解决方案使其适用于IE,但却破坏了Firefox。Firefox在以下行中断:
url=“http://“+”…“+”&var=1”这是另一个问题。您在这些行的某个地方出现了语法错误。阅读错误消息。