我有一个使用框架集的系统,在框架集框架内有一些调用,如;
top.frame1.location = "newlocation";
和
top.frame2.afunction();
但是我正在更新系统,现在框架集驻留在iframe中,所以很明显所有top.frame.whatever调用都不再起作用。现在我正试图找到一个不涉及改变“顶部”的解决方案。在大量运行各种功能的页面中。
我在最顶层的网页上尝试过这样的事情;
frame1 = $('#containerframe').contents().find('#frame1');
但这似乎不起作用,它只是说在尝试访问文档时未定义top.frame1.document。
任何建议都会很酷:)
答案 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" />