为什么嵌入的页面找不到我的JavaScript函数?

And*_*ers 3 javascript asp.net

我有一个页面,该页面的页眉部分具有简单的javascript:

<script type="text/javascript">
    function doLogout() {
        var conf = confirm("Really log out?");
        if (conf === true) {      //changed == to === for boolean comparison
            $.post("logout.aspx");
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

它使用jQuery将AJAX发布到我的注销页面。现在唯一的问题是,当我单击链接(<a href="#" onclick="doLogout();">logout</a>)触发此功能时,什么也没有发生。我检查了FireBug的控制台,它告诉我该功能未定义。这以前发生在我身上,但我想有时我会写一些代码来修复它。

有谁知道解决此问题的正确方法?

编辑

经过大量的谷歌搜索和尝试不同的事情之后,我发现这篇非常简洁且内容丰富的文章。显然,如链接的文章所述,在网站中引用脚本的方式很重要,因为否则它将无法正常运行!希望这些信息对更多人有用。

bil*_*dev 5

如果您的JavaScript代码前面有语法错误,也会发生这种情况。通常,这只会被解释为该函数不存在(错误发生后也不包含任何函数)。检查此代码上方的代码(如果有)和语法错误。

判断是否是缓存错误的一种方法是打开Firebug并查看脚本源。如果页面已缓存,则看不到代码。如果已加载但有语法错误,则代码将显示,尽管它不会“查找”它。