关于两个iframe之间调用对象的问题

最近遇到一个问题,需要在两个iframe之间相互调用,最原始的做法是获取iframe对象.currentWindow.对象的方式来调用,但是这样怕纯在对象引用导致iframe内存销毁的问题。而且没办法封装成一个通用的方法(因为用户调用的实现不一致)。
看到operamasks上面有iframe组件,研究了一下他的iframe之间调用对象的方式,发现是通过eval方法来实现,即先获取调用对象所在的iframe对象,然后通过iframe对象.eval(“需要执行的调用语句”),但是考虑到eval会存在性能问题,所以又犹豫了。希望大家给点意见!说说自己的想法!

2个回答

不建议通过对象来调用,改为函数调用。

IFRAME内部高内聚,将可能的调用封装为有限的几个函数;

IFRAME之间低耦合,通过这几个函数来调用。这样EVAL时的性能问题应该降低。

如果两个IFRAME联系很紧密,建议你重新实现,将两个IFRAME里面的东西放在一个页面里。

IFRAME a b
a中调用b
parent.b.nodeName;
b中调用a 同上

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问