/** * Website: http://git.oschina.net/hbbcs/bootStrap-addTabs * * Version : 2.1 * * Created by joe on 2016-2-4.Update 2017-10-24 */ (function ($) { var settings = { /** * 直接指定所有页面TABS内容 * @type {String} */ content: '', /** * 是否可以关闭 * @type {Boolean} */ close: true, /** * 监视的区域 * @type {String} */ monitor: 'body', /** * 默认使用iframe还是ajax,true 是iframe,false是ajax * @type {Boolean} */ iframe: true, /** * 固定TAB中IFRAME高度,根据需要自己修改 * @type {Number} */ height: $(window).height() - 118, /** * 目标 * @type {String} */ target: '#tabs-list', /** * 显示加载条 * @type {Boolean} */ loadbar: true, /** * 是否使用右键菜单 * @type {Boolean} */ contextmenu: false, /** * 将打开的tab页记录到本地中,刷新页面时自动打开,默认不使用 * @type {Boolean} */ store: false, /** * 保存的项目名称,为了区分项目 * @type {String} */ storeName: '', /** * 内容样式表 * @type {String} */ contentStyle: 'content', /** * ajax 的参数 * @type {Object} */ ajax: { 'async': true, 'dataType': 'html', 'type': 'get' }, /** * * @type {Object} */ local: { 'refreshLabel': '刷新此标签', 'closeThisLabel': '关闭此标签', 'closeOtherLabel': '关闭其他标签', 'closeLeftLabel': '关闭左侧标签', 'closeRightLabel': '关闭右侧标签', 'loadbar': '正在加载内容,请稍候...' }, /** * 关闭tab回调函数 * @return {[type]} [description] */ callback: function () { } }; var target; _store = function () { if (typeof (arguments[0]) == 'object') { arguments[0].each(function (name, val) { localStorage.setItem(name, val); }) } else if (arguments[1]) { localStorage.setItem(arguments[0], arguments[1]); } else { return localStorage.getItem(arguments[0]); } } _click = function (obj) { var a_obj, a_target; a_obj = (typeof obj.data('addtab') == 'object') ? obj.data('addtab') : obj.data(); if (!a_obj.id && !a_obj.addtab) { a_obj.id = Math.random().toString(36).substring(3, 35); obj.data('id', a_obj.id); } $.addtabs.add({ 'target': a_obj.target ? a_obj.target : target, 'id': a_obj.id ? a_obj.id : a_obj.addtab, 'title': a_obj.title ? a_obj.title : obj.html(), 'content': settings.content ? settings.content : a_obj.content, 'url': a_obj.url ? a_obj.url : obj.attr('href'), 'ajax': a_obj.ajax ? a_obj.ajax : false }); }; _createMenu = function (right, icon, text) { return $('', { 'href': 'javascript:void(0);', 'class': "list-group-item", 'data-right': right }).append( $('', { 'class': 'fa ' + icon }) ).append(text); } _pop = function (id, e, mouse) { $('body').find('#popMenu').remove(); var refresh = e.attr('id') ? _createMenu('refresh', 'fa-refresh', settings.local.refreshLabel) : ''; var remove = e.attr('id') ? _createMenu('remove', 'fa-remove', settings.local.closeThisLabel) : ''; var left = e.prev('li').attr('id') ? _createMenu('remove-left', 'fa-chevron-left', settings.local.closeLeftLabel) : ''; var right = e.next('li').attr('id') ? _createMenu('remove-right', 'fa-chevron-right', settings.local.closeRightLabel) : ''; var popHtml = $('