Ajax加载包含内容的javascript和css

Ajax加载包含内容的javascript和css,javascript,ajax,jquery,jquery-load,Javascript,Ajax,Jquery,Jquery Load,我使用jQueryAjax将内容从一个页面加载到当前页面的一个div中,类似于gmail在收件箱、垃圾箱等之间切换的方式。我使用jquery的加载方法 $("#divGlobal").load("newPage.html #container"); 将我需要的内容加载到我的div中 newpage.html#container还具有关联的javascript和css文件。现在我通过在中添加必要的和标记来加载它们,但它并不总是有效的。文件总是加载(我正在Firefox中观看XHR信息),但似乎并

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

$("#divGlobal").load("newPage.html #container");
将我需要的内容加载到我的div中

newpage.html#container
还具有关联的javascript和css文件。现在我通过在
中添加必要的
标记来加载它们,但它并不总是有效的。文件总是加载(我正在Firefox中观看XHR信息),但似乎并不总是正常工作

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


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

重新加载之前加载的同一个javascript可能不会达到您想要的效果,因为所有变量和函数都已从上一次加载中定义,并且上一次加载中的某些状态可能已经就位。再次将其加载到同一页面不会从头开始,这可能是您想要的


如果您控制正在加载的页面,那么您可以通过专门设计内容加载中的脚本来编写javascript,这样脚本就可以准确地设置您想要的状态,并清除以前加载的任何状态,但是为了实现这一目的,您必须以这种方式编写脚本。这将包括重置任何DOM修改、事件处理程序、全局变量等。。。脚本的第一次调用可能已经修改。

以这种方式加载内容是一个非常糟糕的主意;它使页面更难维护,甚至打开了可能的XSS漏洞。而不是发送完整的HTML页面(完整的复制<代码> <代码>,<代码> <代码>和<代码> <代码>标签,考虑使用<代码> Ajax < /代码>只加载必要的页面数据,如JSON这样的纯数据语法。其他选项包括一次加载所有内容(减少HTTP请求),甚至在适当的情况下使用iframe。