2011-06-09 42 views
0

我使用AJAX将一些内容加载到页面,并且该内容中包含一些jQuery(document).ready()代码。我需要ready函数中的东西来执行,但我不能修改实际的代码,但只能使用服务器通过AJAX提供的内容。手动运行所有jQuery /原型document.ready函数

如何在jQuery 1.4+/Prototype中触发这些函数?

基本上,我需要做的是从HTML响应执行内嵌JavaScript代码。

回答

0

您可以尝试一个eval(代码)来自其他来源的代码。在使用Ajax时,您必须指定您期望的输出类型(用于jQuery Ajax调用的dataType)。这可以是xml,json,脚本或html。除非你在做JsonP并且你导入一个脚本,否则其他数据类型基本上都是文本,你需要对它们进行评估才能执行它们。一旦你评估()他们来自其他来源的功能将在你的全球环境中可用。

+0

我从服务器获得的内容是html,其中包含js,所以eval()会触发语法错误? 我需要从html响应中执行内嵌JavaScript。源是只读的。 – srgb 2011-06-13 05:01:18

+0

然后尝试使用curl获取内容并在php中回显它,生成包含您的代码和其他代码的页面,甚至可以解析它以仅获取js代码。但这不再是ajax了。 – 2011-06-13 17:12:34

+0

“dataType:html”的jQuery帮助说:“包含的脚本标记在插入到DOM中时被评估。” – Alnitak 2011-06-14 06:16:50