1、背景
A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳轉頁面的寫法區別以下。
2、JS跳轉
window.location.href、location.href 本頁面跳轉,D頁面跳轉
parent.location.href 上一層頁面跳轉,C頁面跳轉
top.location.href 最外層頁面跳轉,A頁面跳轉
3、連接或者form
D頁面中有form
<form>: form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉
4、刷新
parent.location.reload():C頁面刷新
window.opener.document.location.reload():C頁面刷新(使用子窗口的opener對象來得到父窗口對象)
top.location.reload():A頁面刷新
知識點轉自http://blog.csdn.net/yuling59520/article/details/5630766
雖然如今iframe用的較少,可是一些管理系統裏仍是會用到,今天項目裏就遇到一個很奇怪的bug,layer彈出層是一個新頁面,頁面上有日曆控件(WdatePicker.js),關閉彈框時日曆控件沒有自動消失,這個bug不是全部的頁面有,因此很奇葩,這個時候就用到了上面的知識點來解決的,代碼以下:
$(window.parent.document).find(".layui-layer-close").on("mousedown", function(){//關閉彈框前把日曆控件關閉
window.top.$("body>div>iframe").parent("div").hide();
});jsp