服務(wù)熱線(xiàn)
153 8323 9821
window.opener是當(dāng)前頁(yè)面A通過(guò)open方法彈出一個(gè)窗口B,那在B頁(yè)面上 window.opener就是A
window.parent是當(dāng)前頁(yè)面C通過(guò)location.href轉(zhuǎn)到新的頁(yè)面D,那在D頁(yè)面上window.parent就是B
或者是頁(yè)面E里套一個(gè)frame為F,那F頁(yè)面的window.parent就是E
A頁(yè)面通過(guò)open方法打開(kāi)B頁(yè)面,B頁(yè)面通過(guò)location打開(kāi)C頁(yè)面,C頁(yè)面上刷新A頁(yè)面
function refreshParenetWindow( refreshMethod )
{
switch( refreshMethod )
{
case "ButtonClick": oParentButton = window.parent.opener.document.getElementById( "btnSearch" );
oParentButton.click();
break;
case "Location": window.opener.navigate(window.opener.location.href);
break;
default: window.opener.navigate(window.opener.location.href); break;
}
}
A頁(yè)面通過(guò)open方法打開(kāi)B頁(yè)面,B頁(yè)面通過(guò)open打開(kāi)C頁(yè)面,C頁(yè)面上刷新A頁(yè)面在B頁(yè)面的onunload事件中寫(xiě)一段刷新A頁(yè)面的javascript方法,在C頁(yè)面關(guān)閉的時(shí)候,關(guān)閉B頁(yè)面,就可以實(shí)現(xiàn)。
document.referrer 用法
referrer 描述: document對(duì)象的referrer屬性,返回導(dǎo)航到當(dāng)前網(wǎng)頁(yè)的超鏈接所在網(wǎng)頁(yè)的URL。
舉例:
1. a.html文件內(nèi)容如下: 瀏覽b.html
2. b.html文件中的內(nèi)容如下:
3. 則在通過(guò)a.html中的超鏈接訪(fǎng)問(wèn)b.html的時(shí)候,顯示的結(jié)果是: http://127.0.0.1:8180/a.html 說(shuō)明: 經(jīng)過(guò)測(cè)試,需要將兩個(gè)文件放在服務(wù)器中才能得到想要的結(jié)果,若直接在本地文件夾中則得到空字符串,若直接在瀏覽器地址欄中輸入b.html的URL地址或使用打開(kāi)菜單訪(fǎng)問(wèn)b.html,則document.referrer的值為空字符串。
js操作frame詳細(xì)解說(shuō),window.opener和window.parent的區(qū)別
frame框架里的頁(yè)面要改其他同框架下的頁(yè)面或父框架的頁(yè)面就用parent
window.opener引用的是window.open打開(kāi)的頁(yè)面的父頁(yè)面。
window.frames對(duì)象可以引用iframe里的頁(yè)面,也可以引用frameset里的頁(yè)面.
可以這樣
window.frames[0].document.getElementById('xx');
可以這樣
window.frames[0].document.body.innerHTML;
frm = window.parent.window.frames['uploadFrame'];
frmDocument = frm.document;
frm.sb(3); //sb 是uploadFrame頁(yè)面里的一個(gè)函數(shù)
對(duì)于firefox
如果你遇到報(bào)錯(cuò):parent.document.frames has no properties
換為如下代碼就可以了,這個(gè)代碼IE,ff兼容. frm = window.parent.window.frames['uploadFrame'];其實(shí) frames 集合并不是掛在 document 而是掛在 window 對(duì)象下.
注意這樣修改frame里的頁(yè)面有限制,就是必須是同域下的,否則無(wú)法訪(fǎng)問(wèn)
如果是同一域下,但是子域名不同,那么涉及到的js,html文件都加上一句。
document.domain = xxx.com [這里填寫(xiě)你的域名]
document.getElementById('iframeid').contentWindow.document.getElementById('someelem