easyui内嵌iframe问题解决

项目中使用easyui的tab页,每个tab页均内嵌iframe,现在要在tab页中控制新增一个同级别的tab页,记录如下:

首先是main.html主页面:

<div class="easyui-tabs" fit="true" id="tabs">
    <div title="首页" data-options="iconCls:'icon-home'" id="main"></div>
</div>

现在要在‘首页’这个tab页中控制新增一个同级别的tab页,可使用如下:

var jq = top.jQuery;
if (jq("#tabs").tabs('exists', "新增的tab页")){
      jq("#tabs").tabs('select', "新增的tab页");
} else {
      var content = '<iframe scrolling="auto" frameborder="0"  src="/href/list" style="width:100%;height:100%;"></iframe>';
             jq("#tabs").tabs('add',{
                  title:"新增的tab页",
                  content:content,
                  closable:true,
                  iconCls: "icon-building_edit"
       });
}

 刷新'首页'这个tab页:

var jq = top.jQuery;
jq("#tabs").tabs('close', "新增的tab页");
var tab = jq('#tabs').tabs("getSelected");  // get selected panel
jq('#tabs').tabs('update', {
       tab: tab,
       options: {
            content:'<iframe scrolling="auto" frameborder="0" src="/market" style="width:100%;height:100%;"></iframe>'
       }
});
jq.messager.show({title:"提示",content:"更新成功"});

这样的话,一个tab页关闭之后,就可以实现刷新之前跳转过来的tab页。

然后是在iframe子页面中调用父页面的js方法:

function openCustomerLinkMan(){
     var selectedRows=$("#dg").datagrid("getSelections");
     if(selectedRows.length!=1){
         $.messager.alert("系统提示","请选择一条要管理的数据!");
         return;
     }
     window.parent.openTab('客户联系人管理','linkManManage.jsp?cusId='+selectedRows[0].id,'icon-lxr');    //直接新增一个tab页
 }

 

posted @ 2015-11-09 10:58  程序员小波与Bug  阅读(3500)  评论(0编辑  收藏  举报