奇怪的javascript错误

时间:2012-10-21 14:53:32

标签: javascript

请看下面的代码: HTML ...

 <pre id='output'></pre>

HTML ...

JS

 function log(text) {
    var div = document.getElementById('output');
    div.innerHTML += text + '\n';
 }

function foo() {

    var browser=0;
    if(navigator.appName.toUpperCase()=="MICROSOFT INTERNET EXPLORER")
        browser=1;
    else
    if(navigator.appName.toUpperCase()=="NETSCAPE")
        browser=2;
    log ('browser:'+browser);
    if (browser==1)
    {
        log ('IE');
    }
    if (browser==2);
    {
        log ('Chrome');
    }

    if (browser==0);
    {
            log ('Could not determine broweser type');
            return;
    }
  }

当我从IE运行时,输出为: 浏览器:1即不支持Chrome扩展程序将被加载无法确定浏览器类型

当我从Chrome运行它时,输出为: 浏览器:2 将加载Chrome扩展程序 无法确定浏览器类型


浏览器有多个值怎么样? 10xs, 尼尔

3 个答案:

答案 0 :(得分:5)

你的代码中有一个非常初学者的错误

if结尾处的; if (browser==0);导致你的if条件结束,其余的是一个普通的代码块,无论browser

的值如何都会被执行

答案 1 :(得分:0)

您不应在;声明之后加ifif (browser==2);

答案 2 :(得分:0)

克莱德路宝显示正确的答案。当您遇到JS问题时,最好使用浏览器中的Developer Tool(F12)进行调试。通过设置断点,可以很容易地找到这个代码错误。