加载部分页面时调用的javascript函数未定义

加载部分页面时调用的javascript函数未定义,javascript,Javascript,我有一个aspx页面,在head标记中包含一个javascript文件。此页面上放置了一个用户控件。用户控件有一个与内联javascript函数的链接,内联javascript函数引用在aspx页面上加载的javascript文件中定义的对象。 该应用程序由一个母版页和许多其他aspx页组成。有问题的页面(带有javascript文件)在加载任何其他页面之前加载,并呈现带有javascript文件的链接。但是,如果我单击该链接,就会出现一个错误,即“MicrosoftJScript运行时错误:'

我有一个aspx页面,在head标记中包含一个javascript文件。此页面上放置了一个用户控件。用户控件有一个与内联javascript函数的链接,内联javascript函数引用在aspx页面上加载的javascript文件中定义的对象。 该应用程序由一个母版页和许多其他aspx页组成。有问题的页面(带有javascript文件)在加载任何其他页面之前加载,并呈现带有javascript文件的链接。但是,如果我单击该链接,就会出现一个错误,即“MicrosoftJScript运行时错误:'Foo'未定义”。其中,foo是在javascript文件中定义的对象。但是,如果我等到页面的所有部分都加载完毕,链接就可以正常工作。这里发生了什么?如何防止发生此错误

谢谢

如果我等到页面的所有部分都加载完毕,链接就可以正常工作

对我来说,当你用内联函数点击链接时,浏览器还没有完成js文件的检索和执行

一种可能的解决方案是等待页面加载后再附加单击处理程序:

window.onload = function() {
  var link = document.getElementById('myLink');
  link.onclick = function() {
    // on click logic
  }
}
这只是一个例子。这将放在js文件中,以便一次加载所有依赖项


由于您在问题中已经概括了很多内容,所以要更具体一些有点困难。

您是使用onload还是$.ready函数在一切就绪后进行一些DOM更改?