我正在处理一个错误,其中有一个请求,然后返回一个更新的视图,其中包含一个内联脚本块来更新一些视图。我收到了一个奇怪的参考错误,$ 没有被定义。在对 chrome 进行一些调查后,我发现在出现引用错误的那一刻似乎存在的上下文中,没有定义 $ ,但是定义了 window.parent.$ 。
发现方法:我基本上让 Chrome 在未处理的错误上中断,这自然将我带到了一个调用的调用堆栈,这只是一个匿名函数。通常控制台似乎使用与断点一致的上下文,但在这种情况下,我必须使用监视窗口来查看已定义的内容和未定义的内容。我在所有 Firefox、Chrome 和 IE 中都观察到了这种行为
该请求是 AJAX 请求这一事实可能无关紧要。当 HTML 附加到已经存在的 DOM 并且它具有内联脚本标签时 - 这些内联脚本标签是否在它们自己的子窗口上下文中执行,类似于 iframe?
我们通过 jQuery 注入返回的响应,我假设它可能正在处理执行。jQuery 可以创建一个新的子窗口上下文吗?
在 IFrame 之外的哪些情况下使用子窗口上下文?