dwz navtab 限制打开数量实例
openTab: function(tabid, url, options){ //if found tabid replace tab, else create a new tab.
var op = $.extend({title:"New Tab", data:{}, fresh:true, external:false}, options);
//这里判定如果未加载该 navtab 并且超出最大允许的navtab数量
if( navTab._getTabs().length > 4 )
{
//如果未加载过,或者已在main里面显示的
if( navTab._indexTabId(tabid) < 0 )
{
navTab._getTabs().eq(0).attr('true_tabid',tabid);
tabid = 'main';
}
}
else
{
var real_tabid = navTab._getTabs().eq(0).attr('true_tabid');
if( real_tabid && real_tabid == tabid )
{
tabid = 'main';
}
}
var iOpenIndex = this._indexTabId(tabid);
if (iOpenIndex >= 0){
var $tab = this._getTabs().eq(iOpenIndex);
var span$ = $tab.attr("tabid") == this._op.mainTabId ? "> span > span" : "> span";
$tab.find(">a").attr("title", op.title).find(span$).text(op.title);
var $panel = this._getPanels().eq(iOpenIndex);
if(op.fresh || $tab.attr("url") != url) {
$tab.attr("url", url);
if (op.external || url.isExternalUrl()) {
$tab.addClass("external");
navTab.openExternal(url, $panel);
} else {
$tab.removeClass("external");
$panel.ajaxUrl({
type:"GET", url:url, data:op.data, callback:function(){
navTab._loadUrlCallback($panel);
}
});
}
}
this._currentIndex = iOpenIndex;
} else {
var tabFrag = '<li tabid="#tabid#"><a xhref="javascript:" title="#title#" class="#tabid#"><span>#title#</span></a><a xhref="javascript:;" class="close">close</a></li>';
this._tabBox.append(tabFrag.replaceAll("#tabid#", tabid).replaceAll("#title#", op.title));
this._panelBox.append('<div class="page unitBox"></div>');
this._moreBox.append('<li><a xhref="javascript:" title="#title#">#title#</a></li>'.replaceAll("#title#", op.title));
var $tabs = this._getTabs();
var $tab = $tabs.filter(":last");
var $panel = this._getPanels().filter(":last");
if (op.external || url.isExternalUrl()) {
$tab.addClass("external");
navTab.openExternal(url, $panel);
} else {
$tab.removeClass("external");
$panel.ajaxUrl({
type:"GET", url:url, data:op.data, callback:function(){
navTab._loadUrlCallback($panel);
}
});
}
if ($.History) {
setTimeout(function(){
$.History.addHistory(tabid, function(tabid){
var i = navTab._indexTabId(tabid);
if (i >= 0) navTab._switchTab(i);
}, tabid);
}, 10);
}
this._currentIndex = $tabs.size() - 1;
this._contextmenu($tabs.filter(":last").hoverClass("hover"));
}
this._init();
this._scrollCurrent();
this._getTabs().eq(this._currentIndex).attr("url", url);
}
修改 dwz/js/dwz.navTab.js
修改 openTab 方法
改为如下:
dwz navtab 限制打开数量实例的更多相关文章
- WPF 只允许打开一个实例
我们有时候只希望我们的程序只打开一个实例,也就是我们的软件只有一次被打开. 那么我们可以通过一个办法知道,在这个软件打开前是不是打开过一个,还没关闭.也就是是否存在另一个程序在运行. 下面是一个简单方 ...
- 微信小程序之页面打开数量限制
无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的.当点击页面的回退按钮就是把当前页面关闭. 这个过程中会涉及到一个问题,就是打开页面的数量.在某些设计下,比如一 ...
- 2018-2-13-WPF-只允许打开一个实例
title author date CreateTime categories WPF 只允许打开一个实例 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:2 ...
- linux 修改文件打开数量限制
1.查看打开文件数量限制 ulimit -a ulimit -n 2.临时修改 ulimit -n 2048 3.永久修改 vi /etc/security/limits.conf 追加 * soft ...
- VB.NET只允许打开一个实例
If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) ...
- linux打开文件数量的查看方法
linux打开文件数量的查看方法 linux打开文件数量的查看方法在网上查到两种查看linux打开文件数量的查看方法,但结果不相同,linux查看文件打开数量是以那个文件或命令为标准呢? 搜索过关于u ...
- Oracle实例和Oracle数据库(Oracle体系结构)
--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...
- 【转载】Oracle实例和Oracle数据库(Oracle体系结构)
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:Leshami 原文地址:http://blog.csdn.net/ ...
- DWZ使用笔记
DWZ使用笔记 一.前言 在最近的一个项目中,引入了DWZ这个富客户端框架,算是一次尝试吧.期间也遇到不少问题,总算一一解决了.特以此文记之. 本人用的是dwz-ria-1.4.5+A ...
随机推荐
- ASP.NET:插件化机制
概述 nopCommerce的插件机制的核心是使用BuildManager.AddReferencedAssembly将使用Assembly.Load加载的插件程序集添加到应用程序域的引用中.具体实现 ...
- 【BZOJ】4894: 天赋
题解 这道题是求一个有向图的外向生成树 入度矩阵对应着外向生成树,出度矩阵对应着内向生成树,知道了这个就可以求出基尔霍夫矩阵了,同时n - 1阶主子式一定要删掉根节点的一行一列 代码 #include ...
- hdoj1050 Moving Tables(贪心)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1050 题意 有一条走廊,走廊两边各有200个房间,一边的房间编号是奇数,另一边是偶数.现在有n个箱子需 ...
- Mac下安装Docker
1.去"https://docs.docker.com/docker-for-mac/"下载安装包  2.根据提示安装下载好的Docker.dmg 3.运行Docker 4.在终 ...
- iuap
2017.12 用友今年着力点往云平台发展,是时候整理一下思路 第一:iuap 第二:Linux 第三:财务会计业务入门 第四:NC节点视频教程--财务模块 2019年3月4日 all in iuap ...
- Spring Boot使用Log4j Implemented Over SLF4J生成日志并在控制台打印
Spring Boot设置切面,执行方法的时候在控制台打印出来,并生成日志文件 引入依赖: <!--日志--> <dependency> <groupId>org. ...
- 理解Linux的进程,线程,PID,LWP,TID,TGID
在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能看到lwp (thread ID)和tgid (thread group ID for the threa ...
- 常用SQL脚本记录一
20.SUM()和 列+ 统计结果时:如果列里有一行为null,SUM函数会忽略它:如果+,则结果集也为NULL了 19 SUBSTRING (expression,startIndex, endIn ...
- PHP 二维数组根据某个字段排序 复制代码 array_multisort
//二维数组,按照里面的age从大到小降序,代码如下 <?php header('Content-Type:text/html;Charset=utf-8'); $arrUsers = arra ...
- from setuptools import setup, find_packages ImportError: No module named set
1 from setuptools import setup, find_packages ImportError: No module named set wget http://peak.tele ...