这段时间在使用easyUI做界面时,发现这么一个问题,在我点击一个左边的一个树菜单时,它此时本来应该是动态的创建一个tabs的,结果,tabs没出来,反而我整个系统页面崩溃了,报了个这样的错误
下面是页面代码
<li><a onclick="javascript:addTab('书籍查看','',true,'student/resource/downloadBook.jsp','')">书籍查看</a></li>
addTab方法
//添加tab
function addTab(title, iconCls, closable, href, content) {
var tab = $("#back_mainTab");
if (href == null || href == "") {
//判断这个obj中的title是否已经在tab中存在
if (tab.tabs('exists', title)) {
tab.tabs('select', title);
} else {
tab.tabs('add', {
title : title,
iconCls : iconCls,
closable : closable,
content : content,
});
}
} else if (content == null || content == "") {
if (tab.tabs('exists', title)) {
tab.tabs('select', title);
} else {
tab.tabs('add', {
title : title,
iconCls : iconCls,
closable : closable,
href : href
});
}
}
1. downloadBook.jsp页面你可能没有body标签,因为href属性只引入url中的<body></body>中的内容,而你却没有这个标签,它取不到所以就崩溃
2. 可能是downloadBook.jsp页面和你的主界面的id有冲突,也就是重复,它也会直接崩溃
如果以上情况都不存在,那么你就可以用下面这种方法了,下面这个方法能解决大部分easyUI界面崩溃的问题,可谓是个万精油方法
使用ifram标签将你所想指向的界面给框起来,然后将其变成一个tabs里面的内容传给addTab方法,这个方法虽然好用,但是对资源消耗比使用href要大,使用时自己取舍
下面是使用上面这种方法修改过的代码
<li><a href="javascript:void(0);" onclick="javascript:addTab('书籍查看','icon-mini-add',true,'','<iframe src=student/resource/downloadBook.jsp frameborder=0 style=border:0;width:100%;height:99.5%;></iframe>')">书籍查看</a>
</li>