说明:在使用iframe开发时,经常遇到多个iframe之间的操作。
下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe;
添加需要刷新的标识reload=true
//添加npi2mp时,刷新NPI2MPTable
$(top.document).find("iframe").each(function () {
if ($(this).data("id") == "npi/showNPI2MPTable") {
$(this).attr("reload", "true");
return;
}
}); //删除时做同样的操作即可
然后再切换tab的操作中做判断是否需要刷新操作
//切换tab
function e() {
if (!$(this).hasClass("active")) {
var bRefresh = false; // 是否需要刷新
var tabName = $(this).text().trim();
// 解决128 & 131 issue ,新增NPI轉MP时候不用刷新页面 by robert
if (tabName == "新增NPI轉MP") {
bRefresh = false;
}
//切换tab时判断是否需要刷新
if (tabName == "NPI轉MP") {
$(top.document).find("iframe").each(function () {
if ($(this).data("id") == "npi/showNPI2MPTable") {
if ($(this).attr("reload")) {
bRefresh = true;
} else {
bRefresh = false;
}
$(this).removeAttr("reload");
return;
}
});
}
var k = $(this).data("id");
$(".J_mainContent .J_iframe").each(function () {
if ($(this).data("id") == k) {
//根据前面的判断,那些需要刷新
if (bRefresh) {
this.src = this.src; // 点击时刷新frame
}
$(this).show().siblings(".J_iframe").hide();
return false;
}
});
$(this).addClass("active").siblings(".J_menuTab").removeClass("active");
g(this);
}
}
$(".J_menuTabs").on("click", ".J_menuTab", e);