jquery加载IE FF和Chrome

我想知道为什么当我添加由.Load()方法加载的页面时,Chrome无法正确解析页面

我整合了一个包含完整的html,head和body标签的页面,除了我的内容之外它只是忽略了所有内容。 无法集成jquery脚本……

我忽略了什么吗? 在加载()时,chrome是否过滤掉html,head和body标签?

第二个问题……是否需要使用完整的html,在集成页面上标注正文,或者我可以只传递body标签和脚本之间的所有内容?

编辑:

触发颜色框的元素:

Lees verder 

加载的页面。 ( 简而言之)

         $(document).ready(function() { $(".teaminfo").colorbox(); });  

第3和第4个问题:如果我在页面的body元素中放置一个脚本,这将使用调用页面头脚本,并在w3cvalidation吗?

您可以将此作为脚本剥离的解决方法(更新以匹配您发布的代码):

如果您的电话是这样的:

 $("#myElem").load("myPage.htm"); 

您可以尝试添加回调( 如果您传递params,回调是第三个参数 ):

 $("#myElem").load("myPage.htm", function(resp) { $('.teaminfo', resp).colorbox(); }); 

现在只需在放置 。 这将调用.colorbox(); 仅在响应中的.teaminfo元素上。

对于另一个问题,是的,你可以只传递体内的东西并看到相同的结果。

load方法在文档正文上有一个隐含的(不可避免的,我相信)filter。 这曾经在jQuery网站上记录,但在当前的文档中似乎缺失了。 考虑到load将返回的数据放在body中的容器中,很明显为什么它会过滤掉body外的所有内容 – 在文档中包含多个html和/或head元素是非法的,并且它们在任何元素中都是非法的这将包含在文件正文中。

注意:我可以轻松加载出现在文档正文中的脚本元素。 也许您需要做的就是将它们从头部移动到片段的主体。 需要注意的是,脚本可能需要是您网站的本地脚本。 由于安全问题,浏览器可能拒绝加载通过ajax加载的远程脚本。