我有一个使用框架集的系统,在框架集框架内有一些调用,例如;
top.frame1.location = "newlocation";
和
top.frame2.afunction();
但是,我正在更新系统,现在框架集位于iframe内,因此显然所有top.frame.whatthing调用都不再起作用.现在,我正在尝试寻找一种不涉及更改“顶部”的解决方案.运行大量功能的大量页面.
我已经尝试过在最上面的页面中执行以下操作:
frame1 = $('#containerframe').contents().find('#frame1');
但这似乎不起作用,只是说尝试访问文档时未定义top.frame1.document.
任何建议都会很酷:)
解决方法:
您正在使用jQuery集覆盖top.frame1中的值,而该jQuery集与默认对象(它是一个窗口对象)不同,这就是为什么您会收到“未定义”错误的原因-jQuery集没有文档属性.
如果要解决此问题而不更改对top.frame1的所有引用,则有两种选择.假设#containerframe是您的iframe,我认为这会起作用
在最上层页面
frame1 = self.frames.containerframe.frames.frame1;
编辑
框架集合的名称属性不起作用,因此请确保您的iframe如下所示
<iframe id="containerframe" name="containerframe" />