为什么不调用此JavaScript函数?

为什么不调用此JavaScript函数?,javascript,function,Javascript,Function,我有一个函数,可以读取和解析url变量: function parseError(){ //get url vars and convert them into javascript vars function get(){var vars={};var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value;});

我有一个函数,可以读取和解析url变量:

function parseError(){
    //get url vars and convert them into javascript vars
    function get(){var vars={};var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value;});return vars;}
    var err_type=get()["t"];
    var err_code=get()["c"];
    var redirect=get()["redirect"];

    //set message based on var data
    var extension = "Hello!";
    if(err_type=1)extension="<a href="+redirect+"><button class=\"dismiss\">Dismiss</button></a>";
    if(err_code=0)err_msg="This site has detected that you currently have javascript turned off. To view this site, you must enable javascript.";
    if(err_code=0)err_msg="When you have javascript enabled, <a href="+redirect+">click here.</a>";

    //write messages to elements
    document.getElementById("err_msg").innerHTML=err_msg;
    document.getElementById("err_sub").innerHTML=err_msg;
    document.getElementById("err_ex").innerHTML=extension;
}
我也有这些元素:

<body onLoad="parseError();">
<div id="err" align="center">

<div id="err_msg">Loading...</div>
<div class="error_sub">:)</div>
<div class="error_ex"></div>

</div>
</body>
似乎该函数甚至没有被调用

很抱歉,代码太多了,但我不确定函数中的一个小错误是否会影响整个工作。非常感谢您的帮助。

在函数中初始化变量err\u msg:

function parseError(){
    //get url vars and convert them into javascript vars
    function get(){var vars={};var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value;});return vars;}
    var err_type=get()["t"];
    var err_code=get()["c"];
    var redirect=get()["redirect"];
    var err_msg="";
    //set message based on var data

    var extension = "Hello!";
    if(err_type=1)extension="<a href="+redirect+"><button class=\"dismiss\">Dismiss</button></a>";
    if(err_code=0)err_msg="This site has detected that you currently have javascript turned off. To view this site, you must enable javascript.";
    if(err_code=0)err_msg="When you have javascript enabled, <a href="+redirect+">click here.</a>";

    //write messages to elements
    document.getElementById("err_msg").innerHTML=err_msg;
    document.getElementById("err_sub").innerHTML=err_msg;
    document.getElementById("err_ex").innerHTML=extension;
}
同时调整选择器,它是ID而不是类:

<div id="err" align="center">

<div id="err_msg">Loading...</div>
<div  id="err_sub">:)</div>
<div id="err_ex"></div>

</div>
演示:

如何确定未调用该函数?error\u sub和error\u ex是html中的类属性,但您试图通过id.Ah检索它们。哇……这是漫长的一天不需要将某个问题标记为已解决。但是,如果给出的其中一个答案对您有效,您应该单击复选标记以选择该答案。省略var只会使变量成为全局变量而不是局部变量,这不会影响它的值设置,尽管我同意OP应该更明确。