说明:在使用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);