javascript - 前端frame重新reload,為什么一直報(bào)沒(méi)有l(wèi)ocation這個(gè)方法?
問(wèn)題描述
1,我的頁(yè)面結(jié)構(gòu)是這樣的:
<frameset rows='72,*,16' border='1' framespacing='0' topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'> <frame name='framHeader' src='http://www.aoyou183.cn/wenda/top.aspx' scrolling='no' border='0' frameborder='no' noresize topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'></frame> <frameset name='framMain' cols='250,*' border='0' frameborder='0' framespacing='1' topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'><frame name='framLeft' src='http://www.aoyou183.cn/wenda/Left.html' topmargin='0' leftmargin='0' marginheight='0' marginwidth='0' frameborder='0' scrolling='no' noresize></frame><frame name='framRight' src='http://www.aoyou183.cn/wenda/right.html' frameborder='0' bordercolor='#e4e4e4' noresize></frame> </frameset> <frame name='framFooter' src='http://www.aoyou183.cn/wenda/foot.html' marginwidth='0' marginheight='0' frameborder='no' scrolling='no' noresize></frameset> <noframes></noframes>
2,登錄后framRight跳轉(zhuǎn)到welcome.aspx,現(xiàn)在想在welcome.aspx中刷新top.aspx,以便使得登錄名可以顯示在top.aspx中但是怎么弄都無(wú)效,求高手幫助。我的寫法:登錄后在welcome.aspx中:
<p> <script>document.getElementsByName('framHeader').window.location.reload(); </script></p>
樓下各位的方法我都試過(guò)了,都不好用啊。。。。。
問(wèn)題解答
回答1:問(wèn)題終于解決:
<script>
window.parent.parent.frames['framHeader'].window.location.reload();
</script>樓上各位提供的方法是基于當(dāng)前頁(yè)面和要刷新的頁(yè)面同處于一個(gè)frameset,而我的這個(gè)頁(yè)面不在當(dāng)前frameset所以無(wú)法跨域刷新,必須找到目標(biāo)頁(yè)面所在的frameset才可以。
回答2:document.getElementsByName('framHeader')[0].window.location.reload();
回答3:getElementsByName 同學(xué),請(qǐng)仔細(xì)讀方法名喲
回答4:document.getElementsByName('framHeader')獲得的是一個(gè)數(shù)組
回答5:可以嘗試一哈這條語(yǔ)句document.getElementsByTagName(’framHeader’)[0].contentWindow.location.reload();
回答6:叫你用那么多 jquery,getElementsByName 返回是數(shù)組
