2

我有一个使用框架集的系统,在框架集框架内有一些调用,例如;

top.frame1.location = "newlocation"; 

top.frame2.afunction(); 

但是我正在更新系统,现在框架集位于 iframe 中,因此显然所有 top.frame.whatever 调用都不再起作用。现在我正在尝试找到一个不涉及更改“顶部”的解决方案。在运行各种功能的大量页面中。

我试过在最上面的页面做这样的事情;

frame1 = $('#containerframe').contents().find('#frame1');

但这似乎不起作用,它只是说 top.frame1.document 在尝试访问文档时未定义。

任何建议都会很酷:)

4

1 回答 1

0

您正在 top.frame1使用 jQuery 集合覆盖值,该集合与默认对象(窗口对象)不同,这就是您收到“未定义”错误的原因 - jQuery 集合没有属性document

如果您想在更改所有对 top.frame1 的引用的情况下解决此问题,那么您有几个选择。假设#containerframe是你的 iframe,我认为这会起作用

在您的最父页面中

frame1 = self.frames.containerframe.frames.frame1;

编辑

frames集合使用name属性,因此请确保您的 iframe 看起来像这样

<iframe id="containerframe" name="containerframe" />
于 2009-10-29T16:23:52.017 回答