页面上有两个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了。