应用于DOM的AJAX响应中的内联脚本元素 - 它们是否在子窗口上下文中执行?

时间:2012-11-19 20:13:21

标签: javascript jquery html dom

我正在处理一个错误,其中有一个请求,然后返回一个带有内联脚本块的更新视图来更新一些视图。我得到一个奇怪的引用错误,$未被定义。在对chrome进行一些调查之后,我发现在出现引用错误的瞬间存在的上下文中没有$ $定义,但是定义了window.parent。$

发现方法: 我基本上没有处理未处理错误的Chrome,这自然会让我进入一个只是匿名函数的调用的callstack。通常控制台似乎使用与断点一致的上下文,但在这种情况下,我必须使用监视窗口来查看已定义的内容和未定义的内容。我在所有Firefox,Chrome和I.E中都观察到了这种行为。

请求是AJAX请求的事实可能无关紧要。当HTML附加到已经存在的DOM并且它具有内联脚本标记时 - 这些内联脚本标记是否在他们自己的子窗口上下文中执行,类似于iframe?

我们通过jQuery注入返回的响应,我假设可能正在处理执行。 jQuery可以创建一个新的子窗口上下文吗?

在IFrame之外的哪些情况下使用子窗口上下文?

1 个答案:

答案 0 :(得分:0)

问题实际上最终成为IFrame。有人使用“ajaxSubmit”扩展在回调中使用回调,该扩展在内部使用了IFrame。我对IFrames没有被使用的假设是不正确的。