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: true
10                 });

由于学疏才浅,简单的理解为,页面加载时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 = "";便解决了两次请求的问题,不知道会不会有什么后患

时间: 2024-10-15 15:29:24

easyUI layout 中使用tabs+iframe解决请求两次方法的相关文章

session过期跳转到登陆页面并跳出iframe框架的两个方法

最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一: 一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect().但当在页面上使用了iframe后,发现被重定向的只是父页面中的iframe区域,登陆页面内容显示在该区域中.说明在过滤器中发送重定向请求时,是在iframe页面发送

QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

QT中获取选中的radioButton的两种方法 QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "rad

在Java Web程序中使用监听器可以通过以下两种方法

之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外.在Java Web程序中使用监听器可以通过以下两种方法:通过注解@WebListener来标识一个自定义的监听器:[java] view plain copy@WebListener public class Custom

SpringMVC中controller返回json数据的两种方法

SpringMVC中controller返回json数据的两种方法 1.jsp的ajax请求: function getJson(){ $.ajax({ type:"get", dataType:"json", url:"<%=basePath %>getJson", success:function(data){ for(var i=0;i<jsonData.length;i++){ alert("Id:"

在Filter中使用动态代理解决请求中文乱码问题

使用动态代理解决请求中文乱码问题 1.增强一个类我们常用的几种解决方案: 1.继承 a) 优点简单 b) 必须有被增强类的实现类 2.装饰者模式 a) 要求:1实现相同的接口.2持有被增强的对象 b) 优点:不必知道被增强的实现是谁 c) 缺点:必须实现所有没被增强方法的原始对象的原样调用 3.动态代理 a) 要求:1实现相同接口,2持有被增强的对象 b) 优点:不必手动实现所有不增强方法的原样调用.对方法进行增强时有类似过滤器的功能. c) 缺点:学习成本高. 代理(Proxy): 一个代理对

js如何判断是否在iframe中/JQuery调用iframe父页面元素与方法

//方式一 if (self.frameElement && self.frameElement.tagName == "IFRAME") { alert('在iframe中'); } //方式二 if (window.frames.length != parent.frames.length) { alert('在iframe中'); } //方式三 if (self != top) { alert('在iframe中'); } 第一.在iframe中查找父页面元素的

Javascript的DOM中兼容问题以及解决兼容问题的方法

一.获取非行内样式的方法和它的兼容问题及解决方式 方 法 一:getComputedStyle(obox,false)  第一个参数表示要获取的对象,第二个值指定一个要匹配的伪元素的字符串.必须对普通元素省略(或null)false也可以.主要针对正常浏览器 方 法 二:Element.currentStyle  在IE浏览器中使用 解决兼容问题的方式: function getStyle(ele,attr){ if(ele.currentStyle){ return ele.currentSt

adobe media encoder cc 2015在win10中打开崩溃的解决办法(该方法同样适用于adobe其他产品)

今天就给大家讲讲adobe media encoder cc 2015启动的时候崩溃的问题,先来看看现象.就是这样了,然后我在网上找了很多办法,有的方法已经过时了,也或者因为现在新版本的adobe media encoder cc 2015已经不支持网上的那些方法了.下面就来说说我找到的几种方法,和我自己解决了问题的方法分享给大家.先来看看我youtube的三种方法吧.1.这种方法虽然他录制的是premiere,不过对于adobe media encoder cc 2015还是适用的,我就是参考

SpringMVC的学习____5.乱码问题的解决_两种方法(两个类)

乱码问题很让人心烦,接下来我们来讨论这两种解决乱码问题的方法: 方法1: 使用Spring包中的类 (在web.xml)中注册该过滤器即可) <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/java