JavaScript的;从其他帧中访问框架集框架

时间:2009-10-29 15:46:37

标签: javascript frames

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

top.frame1.location = "newlocation"; 

top.frame2.afunction(); 

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

我在最顶层的网页上尝试过这样的事情;

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

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

任何建议都会很酷:)

1 个答案:

答案 0 :(得分:0)

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

如果你想修改这个而不用更改你对top.frame1的所有引用,那么你有几个选择。假设#containerframe是您的iframe,我认为这将有效

在您最父母的页面

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

修改

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

<iframe id="containerframe" name="containerframe" />