首页 > 网站 > WEB开发 > 正文

easyUI layout 中使用tabs+iframe解决请求两次方法

2024-04-27 14:09:40
字体:
来源:转载
供稿:网友

easyUI layout 中使用tabs+iframe解决请求两次方法

demo中的事例在加载tab页面时是

 1   function createFrame(url) { 2             var s = '<iframe name="iframepanel" scrolling="no" frameborder="0"  src="' + url + '" style="width:100%;height:100%;"></iframe>'; 3             return s; 4         } 5 var content = createFrame(url); 6                 $('#tabs').tabs('add', { 7                     title: title, 8                     content: content, 9                     closable: true10                 });

由于学疏才浅,简单的理解为,页面加载时iframe渲染一次,tab加载时又刷新一次页面,导致两次请求

function _323(_324,pp,_325){var _326=$.data(_324,"tabs");_325=_325||{};pp.panel($.extend({},_325,{border:false,noheader:true,closed:true,doSize:false,iconCls:(_325.icon?_325.icon:undefined),onLoad:function(){if(_325.onLoad){_325.onLoad.call(this,arguments);}_326.options.onLoad.call(_324,$(this));}}));var opts=pp.panel("options");var tabs=$(_324).children("div.tabs-header").find("ul.tabs");opts.tab=$("<li></li>").appendTo(tabs);opts.tab.append("<a href=/"javascript:void(0)/" class=/"tabs-inner/">"+"<span class=/"tabs-title/"></span>"+"<span class=/"tabs-icon/"></span>"+"</a>");$(_324).tabs("update", { tab: pp, options: opts });};

而在tabs执行'update'前加上opts.content = "";便解决了两次请求的问题,不知道会不会有什么后患

后期发现点击树叶节点,界面不在刷新,是因为在执行addTab 这个function时var url = $(currTab.panel('options').content).attr('src');此时得到的url="",所以不能继续向下执行做update方法;我就干脆把它注释掉了,直接用参数里传过来的url参数。开始想用创建好的iframe里的属性src,但是由于要传递参数,iframe创建好后,没有修改src属性,调到的参数值一直是第一次创建的iframe的src属性,所以干脆就注释了,使用了参数的url值,不知还会有什么Bug???


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表