首页 新闻 搜索 专区 学院

ie7的 window.opener问题

0
悬赏园豆:20 [已关闭问题]

     页面上有两个iframe:a、b。 a主要用来显示内容的;b是隐藏的,b保存了很多的a页面经常用到的函数。 在ie8下,a页面的链接使用新窗口打开之后,window.opener.parent.frames[b]就可以访问b里面的函数和参数了。 但在ie7下 window.opener 为undefined的,导致界面上的控件失效了,客户很不满。不知道高手有没有遇到这种情况,怎么解决数据访问的问题。谢谢啦!

 

  ps:我们公司是代理国外的crm 的,产品很多年了,而且这种设计我们是改不了的,系统设计的本来是所有页面都是在a里面打开的,所以只能想办法修复。

问题补充: <FRAMESET frameSpacing=0 border=0 cols=105,* MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0"> <FRAMESET id=FIRSTSET frameSpacing=0 border=0 frameBorder=1 rows=74,0,60,*,0 MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0"> <FRAME noResize marginHeight=0 name=EWARE_LOGO marginWidth=0 scrolling=no> <FRAME noResize marginHeight=0 name=EWARE_RECENT marginWidth=0 scrolling=no> <FRAME noResize marginHeight=0 name=EWARE_HISTORY marginWidth=0 scrolling=no> <FRAME noResize marginHeight=0 name=EWARE_MENU marginWidth=0 scrolling=no> <FRAME noResize marginHeight=0 name=EWARE_CTIBUTTONS marginWidth=0 LEFTMARGIN="0" TOPMARGIN="0"> </FRAMESET> <FRAMESET id=SECONDSET frameSpacing=0 border=0 frameBorder=1 rows=70,*,0,0,0 MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0"> <FRAME noResize marginHeight=0 name=EWARE_TOP marginWidth=0 scrolling=no> <FRAME marginHeight=0 border=0 name=EWARE_MID marginWidth=0 LEFTMARGIN="0" TOPMARGIN="0"> <FRAME noResize marginHeight=0 name=EWARE_HIDDEN marginWidth=0 LEFTMARGIN="0" TOPMARGIN="0"> <FRAME noResize marginHeight=0 name=EWARE_CTIOBJECT marginWidth=0 LEFTMARGIN="0" TOPMARGIN="0"> <FRAME noResize marginHeight=0 name=EWARE_UPDATE marginWidth=0 scrolling=no> </FRAMESET> </FRAMESET> EWARE_MID 的frame 要访问 eware_menu里面的内容。正常情况是parent.frames[eware_menu] 就可以了。但是用target ="_blank" 打开页面之后,就必须用opener了。
Nick7761的主页 Nick7761 | 初学一级 | 园豆:180
提问于:2010-08-10 09:32
< >
分享
其他回答(1)
0

如果是 2个iframe 那为什么还用opener ?

 

直接用 parent.frames[b]就ok的 非要用opener的话 可以 在 父页面 加入如下语句

window.frames[b].opener = window ;

Franky | 园豆:225 (菜鸟二级) | 2010-08-10 09:44
因为页面是跳出a,然后使用新窗体打开的,所以一定要用opener 才能访问到a,然后再通过a 的parent来访问b。 在父窗体写 window.frames[a].opener = window ,没试过,但是我没办法在父页面写代码。杯具了。 最坏的打算就是每个页面加代码,让控件生效。哎
支持(0) 反对(0) Nick7761 | 园豆:180 (初学一级) | 2010-08-10 11:54
0

是这是框架frame,不是iframe吧?

框架操作在各浏览器下是有兼容问题的。

Astar | 园豆:40805 (高人七级) | 2010-08-10 09:44
哦。确实是frame来的。 代码:看问题增加了代码。
支持(0) 反对(0) Nick7761 | 园豆:180 (初学一级) | 2010-08-10 12:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册