demo中的事例在加载tab页面时是
1 function createFrame(url) { 2 var s = '<iframe name="iframepanel" scrolling="no" frameborder="0" src='/images/loading.gif' data-original="' + url + '" ></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 = "";便解决了两次请求的问题,不知道会不会有什么后患
原标题:easyUI layout 中使用tabs+iframe解决请求两次方法
关键词: