• easyui tab update bug 完美解决方案 调用当前tab的iframe


    情况介绍 :这个方案解决用easyui 的tab做标签页时, tab 用update 刷新之后tab页不能关闭的问题

    1.判断tab是否存在。
       var currtab = $('#tabs').tabs('getSelected');
    
    2.判断点击的tab是否是当前选中的tab。
      var currtab = $('#tabs').tabs('getSelected');
      var tab = $("#tabs").tabs("getTab", title);
      if (currtab == tab)
       {
         ...
       }
    3.是当前tab时,刷新。
        var url = $(currtab.panel('options').content).attr('src'); 
        refreshTab(tab, url);
    4.不是当前tab时,转换当前选中的tab,在刷新!
         var tab = $("#tabs").tabs("select", title);
         var currtab = $('#tabs').tabs('getSelected');
         var url = $(currtab.panel('options').content).attr('src');
                        refreshTab(tab, url);
     5.更新tab 对应的iframe  公用的方法
         function refreshTab(obj,url)
    {
    var refresh_tab = obj; if (refresh_tab && refresh_tab.find('iframe').length > 0)
    {
    var _refresh_ifram = refresh_tab.find('iframe')[0]; _refresh_ifram.contentWindow.location.href = url; } }

    1.第一种方案 删除tab页 在新增一个tab

     function addTab(title, url) {
         if ($('#tabs').tabs('exists', title)) 
          {
             var currtab = $('#tabs').tabs('getSelected');
             var tab = $("#tabs").tabs("getTab", title);
                 if (currtab == tab)
                  {
                     var url = $(currtab.panel('options').content).attr('src');
                     if (url != undefined && currtab.panel('options').title != 'Home')
                     {
                         var index = $('#tabs').tabs('getTabIndex', tab);
                         $('#tabs').tabs('close', index);
                         $('#tabs').tabs('add',
                            {
                                title: title,
                                content: createFrame(url),
                                closable: true
                           });
                    }
                    else 
                    {
                        var tab = $("#tabs").tabs("select", title);
                    }
                }
                else {
                    var content = createFrame(url);
                    $('#tabs').tabs('add',
                        {
                            title: title,
                            content: content,
                            closable: true
                        });
                     }
           }
    }
    View Code

    2.第二种方案 跳到对应的tab 在刷新

      function addTab(title, url) {
                if ($('#tabs').tabs('exists', title)) {
                    var currtab = $('#tabs').tabs('getSelected');
                    var tab = $("#tabs").tabs("getTab", title);
                    if (currtab == tab) {
                        var url=$(currtab.panel('options').content).attr('src');
    
                        refreshTab(tab, url);
                    }
                    else {
                        var tab = $("#tabs").tabs("select", title);
                        var currtab = $('#tabs').tabs('getSelected');
                        var url = $(currtab.panel('options').content).attr('src');
                        refreshTab(tab, url);
                    }
                }
                else {
                    var content = createFrame(url);
                    $('#tabs').tabs('add',
                        {
                            title: title,
                            content: content,
                            closable: true
                        });
                }
            }
    View Code
     跟新tab 对应的iframe
    function refreshTab(obj,url)
    {
    var refresh_tab = obj; if (refresh_tab && refresh_tab.find('iframe').length > 0)
    {
    var _refresh_ifram = refresh_tab.find('iframe')[0]; _refresh_ifram.contentWindow.location.href = url; } }

      

  • 相关阅读:
    TimelineJS JSON 数据格式
    FFMS2 API 译文 [原创]
    用 Delphi 7 实现基于 FFMS2 的视频转 GIF 工具 [原创]
    FFMS2 官方说明译文 [原创]
    华为悦盒 EC6108V9U 破解过程全记录(root扫盲) [原创]
    Delphi 中的 RectTracker
    Delphi 7中对StretchBlt, StretchDIBits, DrawDibDraw, BitBlt 的性能测试
    【最后一篇API译文】Android开发-API指南- Contacts Provider
    Android开发-API指南- Calendar Provider
    Android开发-API指南-数据存储
  • 原文地址:https://www.cnblogs.com/liuyu7177/p/3110886.html
Copyright © 2020-2023  润新知