如何调用此文件中的函数?

时间:2009-10-22 08:26:05

标签: javascript

我将此链接中给出的代码粘贴到名为md5.js的文件中。

http://www.webtoolkit.info/javascript-md5.html

我无法在下面的代码中调用该函数。请帮助我。

function inc(filename) { var body = document.getElementsByTagName('body').item(0); script = document.createElement('script'); script.src = filename; script.type = 'text/javascript'; body.appendChild(script) } function CheckCaptcha() { var CaptchaWord=""; CaptchaWord = document.getElementById('studentusername').value; inc("md5.js"); //Add MD5 function here. }

2 个答案:

答案 0 :(得分:4)

您可以尝试为脚本onload添加事件处理程序并从那里继续执行代码。

e.g。

function inc(fname, callback)
{
    var body = document.getElementsByTagName('body').item(0);
    script = document.createElement('script');
    script.src = filename;
    script.type = 'text/javascript';
    script.onload = callback;
    body.appendChild(script);
}

function CheckCaptcha()
{
    var CaptchaWord="";

    CaptchaWord = document.getElementById('studentusername').value;
        inc("md5.js", function() {
        //Add MD5 function here.
        });

}

这种方法的替代方案(也将更加反复使用)是直接包含md5脚本而不是使用inc函数。

<script src="/path/to/md5.js" type="text/javascript"></script>
<script type="text/javascript">
function CheckCaptcha()
{
    var CaptchaWord="";
    CaptchaWord = document.getElementById('studentusername').value;
    return md5(CaptchaWord); //or something
}
</script>

答案 1 :(得分:2)

因为onload不起作用,即你需要添加onreadystatechange。

function inc(fname, callback)
{
    var body = document.getElementsByTagName('body').item(0);
    script = document.createElement('script');
    script.src = filename;
    script.type = 'text/javascript';
    script.onload = callback;
    script.onreadystatechange= function () {
      if (this.readyState == 'complete') callback();
    }

    body.appendChild(script);
}

function CheckCaptcha()
{
    var CaptchaWord="";

    CaptchaWord = document.getElementById('studentusername').value;
        inc("md5.js", function() {
        //Add MD5 function here.
        });

}