如何使用条件注释在JS脚本之间进行交换

时间:2015-05-07 11:00:08

标签: javascript html conditional-comments

所以我有一个弹出窗口,从我的主页通过"?"链接。如果用户使用chrome,FF,Opera等,并运行第二个脚本(Help_IE.htm),如果用户使用IE,我会运行一个脚本(Help.htm)来运行。

js

 <script type="text/javascript">
            function popup() {
                window.open("Help.htm", "Help", "scrollbar=yes,location=yes,width=500,height=420");
            }
        </script>

HTML

    <a href="javascript:popup()">?</a>

我希望能够根据浏览器使用条件注释来交换JS脚本,或者如果有人有更高效的答案,我会对任何事情持开放态度,谢谢。

尝试

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
<!--[if IE]>
    <script type="text/javascript">
    function popup() {
        window.open("Help_IE.htm", "Help", "scrollbar=yes,location=yes,width=500,height=420");
    }
    </script>
<![endif]-->

<script type="text/javascript">
    function popup() {
        window.open("Help.htm", "Help", "scrollbar=yes,location=yes,width=500,height=420");
    }
</script>

2 个答案:

答案 0 :(得分:1)

如果您知道如何使用您正在使用的浏览器查询变量,则可以在函数中使用条件if(为此,您可以使用modernizer);

但在您的情况下,您也可以尝试在html conditionals中包装您的脚本(就像您使用CSS一样 - 它应该可以工作);

代表。 IE:

 <!--[if IE]>
 <script type="text/javascript">
        function popup() {
            window.open("Help.htm", "Help", "scrollbar=yes,location=yes,width=500,height=420");
        }
       </script>
  <![endif]-->

表示非IE:

 <!--[if !IE]>
 <script type="text/javascript">
        function popup() {
            window.open("Help.htm", "Help", "scrollbar=yes,location=yes,width=500,height=420");
        }
     </script>
 <![endif]-->

答案 1 :(得分:0)

如果需要,您可以使用条件注释。或者,请查看此答案https://stackoverflow.com/a/13480430/1410583