Ajax加载带有内容的javascript和css

时间:2012-08-04 00:03:03

标签: javascript ajax jquery jquery-load

我正在使用jquery ajax将内容从一个页面加载到当前的div中,类似于gmail在收件箱,垃圾箱等之间切换的方式。我正在使用jQuery的加载方法

$("#divGlobal").load("newPage.html #container");

将我需要的内容加载到我的div中。

newpage.html #container也有关联的javascript&amp;与之关联的css文件。现在我通过将必要的<script><link>标记附加到<head>来加载它们,但它并不总是有效。文件总是加载(我在Firefox中观看XHR信息),但似乎并不总是正常工作。

例如,如果我加载page1.html&amp;相关文件(包括UI的jQuery函数),一切正常。但是,如果我然后加载page2.html并返回page1.html,则加载文件但jQuery函数没有响应。

是否有更好的方法来加载javascript&amp;与我正在加载的内容相关联的css文件?

1 个答案:

答案 0 :(得分:1)

重新加载之前加载的相同javascript可能无法执行您想要的操作,因为所有变量和函数都已从先前的加载中定义,并且某些状态可能已经存在于先前加载的位置。再次将它加载到同一页面并不是从头开始,这可能是你想要的。

如果您控制正在加载的页面,那么您可以通过专门设计内容加载中的脚本来编写javascript,以便他们按照您的需要设置状态并清理任何以前加载的状态,但你必须以这种方式编写它们才能以这种方式工作。这将包括重置任何DOM修改,事件处理程序,全局变量等...脚本的第一次调用可能已经修改。