|
|
(function($){ |
|
|
$(document).ready(function(){ |
|
|
// 侧栏菜单初始状态设置 |
|
|
if(theme.minNav != '1')trigger_resizable(true); |
|
|
// 主题状态 |
|
|
switch_mode(); |
|
|
// 搜索模块 |
|
|
intoSearch(); |
|
|
// 粘性页脚 |
|
|
stickFooter(); |
|
|
// 网址块提示 |
|
|
if(isPC()){ $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); }else{ $('.qr-img[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); } |
|
|
// 初始化tab滑块 |
|
|
intoSlider(); |
|
|
// 初始化theiaStickySidebar |
|
|
$('.sidebar').theiaStickySidebar({ |
|
|
additionalMarginTop: 90, |
|
|
additionalMarginBottom: 20 |
|
|
}); |
|
|
// 初始化游客自定义数据 |
|
|
/*if(theme.isCustomize == '1'){ |
|
|
intoSites(false); |
|
|
intoSites(true); |
|
|
}*/ |
|
|
}); |
|
|
$(".panel-body.single img").each(function(i) { |
|
|
if (!this.parentNode.href) { |
|
|
if(theme.lazyload) |
|
|
$(this).wrap("<a href='" + $(this).data('src') + "' data-fancybox='fancybox' data-caption='" + this.alt + "'></a>") |
|
|
else |
|
|
$(this).wrap("<a href='" + this.src + "' data-fancybox='fancybox' data-caption='" + this.alt + "'></a>") |
|
|
} |
|
|
}) |
|
|
// Enable/Disable Resizable Event |
|
|
var wid = 0; |
|
|
$(window).resize(function() { |
|
|
clearTimeout(wid); |
|
|
wid = setTimeout(go_resize, 200); |
|
|
}); |
|
|
function go_resize() { |
|
|
stickFooter(); |
|
|
//if(theme.minNav != '1'){ |
|
|
trigger_resizable(false); |
|
|
//} |
|
|
} |
|
|
// count-a数字动画 |
|
|
$('.count-a').each(function () { |
|
|
$(this).prop('Counter', 0).animate({ |
|
|
Counter: $(this).text() |
|
|
}, { |
|
|
duration: 1000, |
|
|
easing: 'swing', |
|
|
step: function (now) { |
|
|
$(this).text(Math.ceil(now)); |
|
|
} |
|
|
}); |
|
|
}); |
|
|
$(document).on('click', "a[target!='_blank']", function() { |
|
|
if( theme.loading=='1' && $(this).attr('href') && $(this).attr('href').indexOf("#") != 0 && $(this).attr('href').indexOf("java") != 0 && !$(this).data('fancybox') && !$(this).data('commentid') && !$(this).hasClass('nofx') ){ |
|
|
var load = $('<div id="load-loading"></div>'); |
|
|
$("body").prepend(load); |
|
|
load.animate({opacity:'1'},200,'swing').delay(2000).hide(300,function(){ load.remove() }); |
|
|
} |
|
|
}); |
|
|
// 点赞 |
|
|
$(".btn-like").click(function() { |
|
|
var t = $(this); |
|
|
if(t.data('action') == "post_like"){ |
|
|
if (t.hasClass('liked')) { |
|
|
showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); |
|
|
} else { |
|
|
var icop = t.children('.flex-column'); |
|
|
t.addClass('liked'); |
|
|
$.ajax({ |
|
|
type : 'POST', |
|
|
url : theme.ajaxurl, |
|
|
data : { |
|
|
action: t.data('action'), |
|
|
post_id: t.data("id"), |
|
|
ticket: t.data("ticket") |
|
|
}, |
|
|
success : function( data ){ |
|
|
$am = $('<i class="iconfont icon-heart" style="color: #f12345;transform: scale(1) translateY(0);position: absolute;transition: .6s;opacity: 1;"></i>'); |
|
|
icop.prepend($am); |
|
|
showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); |
|
|
$('.like-count').html(data); |
|
|
$am.addClass('home-like-hide'); |
|
|
}, |
|
|
error:function(){ |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
} |
|
|
}); |
|
|
} |
|
|
}else{ |
|
|
if (t.hasClass('disabled')) |
|
|
return false; |
|
|
var _delete = 0; |
|
|
var id = t.data("id"); |
|
|
if (t.hasClass('liked')) { |
|
|
_delete = 1; |
|
|
} |
|
|
t.addClass('disabled'); |
|
|
$.ajax({ |
|
|
type : 'POST', |
|
|
url : theme.ajaxurl, |
|
|
data : { |
|
|
action: t.data("action"), |
|
|
post_id: t.data("id"), |
|
|
post_type: t.data("post_type"), |
|
|
delete: _delete, |
|
|
ticket: t.data("ticket") |
|
|
}, |
|
|
success : function( data ){ |
|
|
t.removeClass('disabled'); |
|
|
if(data.status==1){ |
|
|
$('.star-count-'+id).html(data.count); |
|
|
if(_delete==1){ |
|
|
t.removeClass('liked'); |
|
|
t.find('.star-ico').removeClass('icon-collection').addClass('icon-collection-line'); |
|
|
} |
|
|
else{ |
|
|
t.addClass('liked'); |
|
|
t.find('.star-ico').removeClass('icon-collection-line').addClass('icon-collection'); |
|
|
} |
|
|
ioPopupTips(data.status, data.msg); |
|
|
return false; |
|
|
} |
|
|
ioPopupTips(data.status, data.msg); |
|
|
}, |
|
|
error:function(){ |
|
|
t.removeClass('disabled'); |
|
|
ioPopupTips(4, "网络错误 --."); |
|
|
} |
|
|
}); |
|
|
|
|
|
} |
|
|
return false; |
|
|
}); |
|
|
// 卡片点赞 |
|
|
$(document).on('click', '.home-like', function() { |
|
|
if ($(this).hasClass('liked')) { |
|
|
showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); |
|
|
} else { |
|
|
var icop = $(this); |
|
|
var id = $(this).data("id"); |
|
|
$(this).addClass('liked'); |
|
|
$.ajax({ |
|
|
type : 'POST', |
|
|
url : theme.ajaxurl, |
|
|
data : { |
|
|
action: "post_like", |
|
|
post_id: id |
|
|
}, |
|
|
success : function( data ){ |
|
|
$am = $('<i class="iconfont icon-heart" style="color: #f12345;transform: scale(1) translateY(0);position: absolute;transition: .6s;opacity: 1;"></i>'); |
|
|
icop.prepend($am); |
|
|
showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); |
|
|
$(".home-like-"+id).html(data); |
|
|
$am.addClass('home-like-hide'); |
|
|
}, |
|
|
error:function(){ |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
} |
|
|
}); |
|
|
} |
|
|
return false; |
|
|
}); |
|
|
//未开启详情页计算访客方法 |
|
|
$(document).on('click', '.url-card a.is-views[data-id]', function() { |
|
|
$.ajax({ |
|
|
type:"GET", |
|
|
url:theme.ajaxurl, |
|
|
data:{ |
|
|
action:'io_postviews', |
|
|
postviews_id:$(this).data('id'), |
|
|
}, |
|
|
cache:false, |
|
|
}); |
|
|
}); |
|
|
// app下载统计 |
|
|
var clipboard = new ClipboardJS('a.down_count', { |
|
|
text: $(document).on('click','a.down_count', function(e) { |
|
|
var mm = $(e.target).data('clipboard-text'); |
|
|
$.ajax({ |
|
|
type:"POST", |
|
|
url:theme.ajaxurl, |
|
|
data: $(this).data(), |
|
|
success : function( data ){ |
|
|
$('.down-count-text').html(data); |
|
|
} |
|
|
}); |
|
|
if( mm ){ |
|
|
return mm; |
|
|
} |
|
|
}) |
|
|
}); |
|
|
clipboard.on("success",function (e) { |
|
|
alert("网盘密码已复制,点“确定”进入下载页面。"); |
|
|
}); |
|
|
|
|
|
//夜间模式 |
|
|
$(document).on('click', '.switch-dark-mode', function(event) { |
|
|
event.preventDefault(); |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'html', |
|
|
data: { |
|
|
mode_toggle: $('body').hasClass('io-black-mode') === true ? 1 : 0, |
|
|
action: 'switch_dark_mode', |
|
|
}, |
|
|
}) |
|
|
.done(function(response) { |
|
|
$('body').toggleClass('io-black-mode '+theme.defaultclass); |
|
|
switch_mode(); |
|
|
$("#"+ $('.switch-dark-mode').attr('aria-describedby')).remove(); |
|
|
//$('.switch-dark-mode').removeAttr('aria-describedby'); |
|
|
}) |
|
|
}); |
|
|
function switch_mode(){ |
|
|
if($('body').hasClass('io-black-mode')){ |
|
|
if($(".switch-dark-mode").attr("data-original-title")) |
|
|
$(".switch-dark-mode").attr("data-original-title","日间模式"); |
|
|
else |
|
|
$(".switch-dark-mode").attr("title","日间模式"); |
|
|
$(".mode-ico").removeClass("icon-night"); |
|
|
$(".mode-ico").addClass("icon-light"); |
|
|
} |
|
|
else{ |
|
|
if($(".switch-dark-mode").attr("data-original-title")) |
|
|
$(".switch-dark-mode").attr("data-original-title","夜间模式"); |
|
|
else |
|
|
$(".switch-dark-mode").attr("title","夜间模式"); |
|
|
$(".mode-ico").removeClass("icon-light"); |
|
|
$(".mode-ico").addClass("icon-night"); |
|
|
} |
|
|
} |
|
|
//返回顶部 |
|
|
$(window).scroll(function () { |
|
|
if ($(this).scrollTop() >= 50) { |
|
|
$('#go-to-up').fadeIn(200); |
|
|
$('.big-header-banner').addClass('header-bg'); |
|
|
} else { |
|
|
$('#go-to-up').fadeOut(200); |
|
|
$('.big-header-banner').removeClass('header-bg'); |
|
|
} |
|
|
}); |
|
|
$('.go-up').click(function () { |
|
|
$('body,html').animate({ |
|
|
scrollTop: 0 |
|
|
}, 500); |
|
|
return false; |
|
|
}); |
|
|
|
|
|
|
|
|
//滑块菜单 |
|
|
$('.slider_menu').children("ul").children("li").not(".anchor").hover(function() { |
|
|
$(this).addClass("hover"), |
|
|
//$('li.anchor').css({ |
|
|
// transform: "scale(1.05)", |
|
|
//}), |
|
|
toTarget($(this).parent(),true,true) |
|
|
}, function() { |
|
|
//$('li.anchor').css({ |
|
|
// transform: "scale(1)", |
|
|
//}), |
|
|
$(this).removeClass("hover") |
|
|
}); |
|
|
$('.slider_menu').mouseleave(function(e) { |
|
|
var menu = $(this).children("ul"); |
|
|
window.setTimeout(function() { |
|
|
toTarget(menu,true,true) |
|
|
}, 50) |
|
|
}) ; |
|
|
function intoSlider() { |
|
|
$(".slider_menu[sliderTab]").each(function() { |
|
|
if(!$(this).hasClass('into')){ |
|
|
var menu = $(this).children("ul"); |
|
|
menu.prepend('<li class="anchor" style="position:absolute;width:0;height:28px"></li>'); |
|
|
var target = menu.find('.active').parent(); |
|
|
if(0 < target.length){ |
|
|
menu.children(".anchor").css({ |
|
|
left: target.position().left + target.scrollLeft() + "px", |
|
|
width: target.outerWidth() + "px", |
|
|
height: target.height() + "px", |
|
|
opacity: "1" |
|
|
}) |
|
|
} |
|
|
$(this).addClass('into'); |
|
|
} |
|
|
}) |
|
|
} |
|
|
//粘性页脚 |
|
|
function stickFooter() { |
|
|
$('.main-footer').attr('style', ''); |
|
|
if($('.main-footer').hasClass('text-xs')) |
|
|
{ |
|
|
var win_height = jQuery(window).height(), |
|
|
footer_height = $('.main-footer').outerHeight(true), |
|
|
main_content_height = $('.main-footer').position().top + footer_height ; |
|
|
if(win_height > main_content_height - parseInt($('.main-footer').css('marginTop'), 10)) |
|
|
{ |
|
|
$('.main-footer').css({ |
|
|
marginTop: win_height - main_content_height |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
$('#sidebar-switch').on('click',function(){ |
|
|
$('#sidebar').removeClass('mini-sidebar'); |
|
|
//221024: 调整左导航展开时,点击图标锚定定位失效 |
|
|
//$('.sidebar-nav .change-href').attr('href','javascript:;'); |
|
|
|
|
|
}); |
|
|
|
|
|
// Trigger Resizable Function |
|
|
var isMin = false, |
|
|
isMobileMin = false; |
|
|
function trigger_resizable( isNoAnim ) { |
|
|
if( (theme.minNav == '1' && !isMin && 767.98<$(window).width() )||(!isMin && 767.98<$(window).width() && $(window).width()<1024) ){ |
|
|
//$('#mini-button').removeAttr('checked'); |
|
|
$('#mini-button').prop('checked', false); |
|
|
trigger_lsm_mini(isNoAnim); |
|
|
isMin = true; |
|
|
if(isMobileMin){ |
|
|
$('#sidebar').addClass('mini-sidebar'); |
|
|
$('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); |
|
|
isMobileMin = false; |
|
|
} |
|
|
} |
|
|
else if( ( theme.minNav != '1')&&((isMin && $(window).width()>=1024) || ( isMobileMin && !isMin && $(window).width()>=1024 ) ) ){ |
|
|
$('#mini-button').prop('checked', true); |
|
|
trigger_lsm_mini(isNoAnim); |
|
|
isMin = false; |
|
|
if(isMobileMin){ |
|
|
isMobileMin = false; |
|
|
} |
|
|
} |
|
|
else if($(window).width() < 767.98 && $('#sidebar').hasClass('mini-sidebar')){ |
|
|
$('#sidebar').removeClass('mini-sidebar'); |
|
|
//221024: 调整左导航展开时,点击图标锚定定位失效 |
|
|
//$('.sidebar-nav .change-href').attr('href','javascript:;'); |
|
|
isMobileMin = true; |
|
|
isMin = false; |
|
|
} |
|
|
} |
|
|
// sidebar-menu-inner收缩展开 |
|
|
$('.sidebar-menu-inner a').on('click',function(){//.sidebar-menu-inner a //.has-sub a |
|
|
|
|
|
//console.log('--->>>'+$(this).find('span').text()); |
|
|
if (!$('.sidebar-nav').hasClass('mini-sidebar')) {//菜单栏没有最小化 |
|
|
$(this).parent("li").siblings("li.sidebar-item").children('ul').slideUp(200); |
|
|
if ($(this).next().css('display') == "none") { //展开 |
|
|
//展开未展开 |
|
|
// $('.sidebar-item').children('ul').slideUp(300); |
|
|
$(this).next('ul').slideDown(200); |
|
|
$(this).parent('li').addClass('sidebar-show').siblings('li').removeClass('sidebar-show'); |
|
|
}else{ //收缩 |
|
|
//收缩已展开 |
|
|
$(this).next('ul').slideUp(200); |
|
|
//$('.sidebar-item.sidebar-show').removeClass('sidebar-show'); |
|
|
$(this).parent('li').removeClass('sidebar-show'); |
|
|
} |
|
|
} |
|
|
}); |
|
|
//菜单栏最小化 |
|
|
$('#mini-button').on('click',function(){ |
|
|
trigger_lsm_mini(false); |
|
|
|
|
|
}); |
|
|
function trigger_lsm_mini(isNoAnim){ |
|
|
if ($('.header-mini-btn input[type="checkbox"]').prop("checked")) { |
|
|
$('.sidebar-nav').removeClass('mini-sidebar'); |
|
|
//221024: 调整左导航展开时,点击图标锚定定位失效 |
|
|
//$('.sidebar-nav .change-href').attr('href','javascript:;'); |
|
|
$('.sidebar-menu ul ul').css("display", "none"); |
|
|
if(isNoAnim){ |
|
|
$('.sidebar-nav').removeClass('animate-nav'); |
|
|
$('.sidebar-nav').width(220); |
|
|
} |
|
|
else{ |
|
|
$('.sidebar-nav').addClass('animate-nav'); |
|
|
$('.sidebar-nav').stop().animate({width: 170},200); |
|
|
} |
|
|
}else{ |
|
|
$('.sidebar-item.sidebar-show').removeClass('sidebar-show'); |
|
|
$('.sidebar-menu ul').removeAttr('style'); |
|
|
$('.sidebar-nav').addClass('mini-sidebar'); |
|
|
$('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); |
|
|
if(isNoAnim){ |
|
|
$('.sidebar-nav').removeClass('animate-nav'); |
|
|
$('.sidebar-nav').width(60); |
|
|
} |
|
|
else{ |
|
|
$('.sidebar-nav').addClass('animate-nav'); |
|
|
$('.sidebar-nav').stop().animate({width: 60},200); |
|
|
} |
|
|
} |
|
|
//$('.sidebar-nav').css("transition","width .3s"); |
|
|
} |
|
|
//显示2级悬浮菜单 |
|
|
$(document).on('mouseover','.mini-sidebar .sidebar-menu ul:first>li,.mini-sidebar .flex-bottom ul:first>li',function(){ |
|
|
var offset = 2; |
|
|
if($(this).parents('.flex-bottom').length!=0) |
|
|
offset = -3; |
|
|
$(".sidebar-popup.second").length == 0 && ($("body").append("<div class='second sidebar-popup sidebar-menu-inner text-sm'><div></div></div>")); |
|
|
$(".sidebar-popup.second>div").html($(this).html()); |
|
|
$(".sidebar-popup.second").show(); |
|
|
var top = $(this).offset().top - $(window).scrollTop() + offset; |
|
|
var d = $(window).height() - $(".sidebar-popup.second>div").height(); |
|
|
if(d - top <= 0 ){ |
|
|
top = d >= 0 ? d - 8 : 0; |
|
|
} |
|
|
$(".sidebar-popup.second").stop().animate({"top":top}, 50); |
|
|
}); |
|
|
//隐藏悬浮菜单面板 |
|
|
$(document).on('mouseleave','.mini-sidebar .sidebar-menu ul:first, .mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ |
|
|
$(".sidebar-popup.second").hide(); |
|
|
}); |
|
|
//常驻2级悬浮菜单面板 |
|
|
$(document).on('mouseover','.mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ |
|
|
$(".sidebar-popup.second").show(); |
|
|
}); |
|
|
|
|
|
$(document).on('click', '.ajax-cm-home .ajax-cm', function(event) { |
|
|
event.preventDefault(); |
|
|
var t = $(this); |
|
|
var id = t.data('id'); |
|
|
var box = $(t.attr('href')).children('.site-list'); |
|
|
//console.log(box.children('.url-card').length); |
|
|
if( box.children('.url-card').length==0 ){ |
|
|
t.addClass('disabled'); |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'html', |
|
|
data : { |
|
|
action: t.data('action'), |
|
|
term_id: id, |
|
|
}, |
|
|
cache: true, |
|
|
}) |
|
|
.done(function(response) { |
|
|
if (response.trim()) { |
|
|
var url = $(response); |
|
|
box.html(url); |
|
|
if(isPC()) url.find('[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); |
|
|
} else { |
|
|
} |
|
|
t.removeClass('disabled'); |
|
|
}) |
|
|
.fail(function() { |
|
|
t.removeClass('disabled'); |
|
|
}) |
|
|
} |
|
|
}); |
|
|
|
|
|
//首页tab模式请求内容 |
|
|
$(document).on('click', '.ajax-list a', function(event) { |
|
|
event.preventDefault(); |
|
|
loadAjax( $(this), $(this).parents('.ajax-list') , '.'+$(this).data('target')); |
|
|
}); |
|
|
|
|
|
$(document).on('click', '.ajax-list-home a', function(event) { |
|
|
event.preventDefault(); |
|
|
loadAjax( $(this), $(this).parents('.ajax-list-home'), '.ajax-'+$(this).parents('.ajax-list-home').data('id') ); |
|
|
}); |
|
|
|
|
|
function loadAjax(t,parent,body){ |
|
|
if( !t.hasClass('active') ){ |
|
|
parent.find('a').removeClass('active'); |
|
|
t.addClass('active'); |
|
|
if($(body).children(".ajax-loading").length == 0) |
|
|
$(body).append('<div class="ajax-loading text-center rounded" style="position:absolute;display:flex;left:0;width:100%;top:-1rem;bottom:.5rem;background:rgba(125,125,125,.5)"><div class="col align-self-center"><i class="iconfont icon-loading icon-spin icon-2x"></i></div></div>'); |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'html', |
|
|
data : t.data(), |
|
|
cache: true, |
|
|
}) |
|
|
.done(function(response) { |
|
|
if (response.trim()) { |
|
|
$(body).html(''); |
|
|
$(body).append(response); |
|
|
//if(theme.lazyload == '1') { |
|
|
// $(body+" img.lazy").lazyload(); |
|
|
//} |
|
|
var url = $(body).children('#ajax-cat-url').data('url'); |
|
|
if(url) |
|
|
t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').show().attr('href', url); |
|
|
else |
|
|
t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').hide(); |
|
|
if(isPC()) $('.ajax-url [data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); |
|
|
} else { |
|
|
$('.ajax-loading').remove(); |
|
|
} |
|
|
}) |
|
|
.fail(function() { |
|
|
$('.ajax-loading').remove(); |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
// 自定义模块----------------- |
|
|
$(".add-link-form").on("submit", function() { |
|
|
var siteName = $(".site-add-name").val() |
|
|
, siteUrl = $(".site-add-url").val(); |
|
|
addSiteList({ |
|
|
id: +new Date, |
|
|
name: siteName, |
|
|
url: siteUrl |
|
|
}); |
|
|
this.reset(); |
|
|
this.querySelector("input").focus(); |
|
|
$(this).find(".btn-close-fm").click(); |
|
|
}); |
|
|
var isEdit = false; |
|
|
$('.customize-menu .btn-edit').click(function () { |
|
|
if(isEdit){ |
|
|
$('.url-card .remove-site,#add-site').hide(); |
|
|
$('.url-card .remove-site,.add-custom-site').hide(); |
|
|
$('.url-card .remove-cm-site').hide(); |
|
|
$('.customize-sites').removeClass('edit'); |
|
|
ioSortable(); |
|
|
$('.customize-menu .btn-edit').html("编辑"); |
|
|
}else{ |
|
|
$('.url-card .remove-site,#add-site').show(); |
|
|
$('.url-card .remove-site,.add-custom-site').show(); |
|
|
$('.url-card .remove-cm-site').show(); |
|
|
$('.customize-sites').addClass('edit'); |
|
|
ioSortable(); |
|
|
$('.customize-menu .btn-edit').html("确定"); |
|
|
} |
|
|
isEdit = !isEdit; |
|
|
}); |
|
|
function addSiteList(site){ |
|
|
var sites = getItem("myLinks"); |
|
|
//判断是否重复 |
|
|
for (var i = 0; i < sites.length; i++) { |
|
|
if(sites[i].url==site.url) |
|
|
{ |
|
|
showAlert(JSON.parse('{"status":4,"msg":"该网址已经存在了 --."}')); |
|
|
return; |
|
|
} |
|
|
} |
|
|
sites.unshift(site); |
|
|
addSite(site,false,false); |
|
|
setItem(sites,"myLinks"); |
|
|
} |
|
|
function addSite(site,isLive,isHeader) { |
|
|
if(!isLive) $('.customize_nothing').remove(); |
|
|
else $('.customize_nothing_click').remove(); |
|
|
var url_f,matches = site.url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); |
|
|
if (!matches || matches.length < 2) url_f=site.url; |
|
|
else { |
|
|
url_f=matches[0]; |
|
|
if(theme.urlformat == '1') |
|
|
url_f = matches[1]; |
|
|
} |
|
|
var newSite = $('<div class="url-card col-6 '+theme.classColumns+' col-xxl-10a">'+ |
|
|
'<div class="url-body mini"><a href="'+site.url+'" target="_blank" class="card new-site mb-3 site-'+site.id+'" data-id="'+site.id+'" data-url="'+site.url+'" data-toggle="tooltip" data-placement="bottom" title="'+site.name+'" rel="external nofollow">'+ |
|
|
'<div class="card-body" style="padding:0.4rem 0.5rem;">'+ |
|
|
'<div class="url-content d-flex align-items-center">'+ |
|
|
'<div class="url-img rounded-circle mr-2 d-flex align-items-center justify-content-center">'+ |
|
|
'<img src="' + theme.icourl + url_f + theme.icopng + '">'+ |
|
|
'</div>'+ |
|
|
'<div class="url-info flex-fill">'+ |
|
|
'<div class="text-sm overflowClip_1">'+ |
|
|
'<strong>'+site.name+'</strong>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</a></div>' + |
|
|
'<a href="javascript:;" class="text-center remove-site" data-id="'+site.id+'" style="display: none"><i class="iconfont icon-close-circle"></i></a>'+ |
|
|
'</div>'); |
|
|
if(isLive){ |
|
|
if(isHeader) |
|
|
$(".my-click-list").prepend(newSite); |
|
|
else |
|
|
$(".my-click-list").append(newSite); |
|
|
newSite.children('.remove-site').on("click",removeLiveSite); |
|
|
} else { |
|
|
$("#add-site").before(newSite); |
|
|
newSite.children('.remove-site').on("click",removeSite); |
|
|
} |
|
|
if(isEdit) |
|
|
newSite.children('.remove-site').show(); |
|
|
if(isPC()) $('.new-site[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); |
|
|
} |
|
|
function getItem(key) { |
|
|
var a = window.localStorage.getItem(key); |
|
|
return a ? a = JSON.parse(a) : []; |
|
|
} |
|
|
function setItem(sites,key) { |
|
|
window.localStorage.setItem(key, JSON.stringify(sites)); |
|
|
} |
|
|
function intoSites(isLive) { |
|
|
var sites = getItem( isLive ? "livelists" : "myLinks" ); |
|
|
if(sites.length && !isLive && !$("#add-site")[0]){ |
|
|
$(".customize_nothing.custom-site").children(".nothing").html('<a href="javascript:;" class="add-new-custom-site" data-action="add_custom_urls" data-term_name="我的导航" data-urls="'+Base64.encode(JSON.stringify( sites ))+'" >您已登录,检测到您的设备上有数据,点击<strong style="color:#db2323">同步到服务器</strong>。</a>'); |
|
|
return; |
|
|
} |
|
|
if (sites.length) { |
|
|
for (var i = 0; i < sites.length; i++) { |
|
|
addSite(sites[i],isLive,false); |
|
|
} |
|
|
} |
|
|
} |
|
|
function removeSite() { |
|
|
var id = $(this).data("id"), |
|
|
sites = getItem("myLinks"); |
|
|
for (var i = 0; i < sites.length; i++){ |
|
|
if ( parseInt(sites[i].id) === parseInt(id)) { |
|
|
console.log(sites[i].id, id); |
|
|
sites.splice(i, 1); |
|
|
break; |
|
|
} |
|
|
} |
|
|
setItem(sites,"myLinks"); |
|
|
$(this).parent().remove(); |
|
|
} |
|
|
function removeLiveSite() { |
|
|
var id = $(this).data("id"), |
|
|
sites = getItem("livelists"); |
|
|
for (var i = 0; i < sites.length; i++){ |
|
|
if ( parseInt(sites[i].id) === parseInt(id)) { |
|
|
console.log(sites[i].id, id); |
|
|
sites.splice(i, 1); |
|
|
break; |
|
|
} |
|
|
} |
|
|
setItem(sites,"livelists"); |
|
|
$(this).parent().remove(); |
|
|
} |
|
|
$(document).on('click', '.add-new-custom-site', function(event) { |
|
|
var t = $(this); |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'json', |
|
|
data : t.data(), |
|
|
}) |
|
|
.done(function(response) { |
|
|
showAlert(response); |
|
|
}) |
|
|
.fail(function() { |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
}) |
|
|
}); |
|
|
$(".add-custom-site-form").on("submit", function() { |
|
|
var t = $(this); |
|
|
var tt = this; |
|
|
var url = t.find("input[name=url]").val(); |
|
|
var name = t.find("input[name=url_name]").val(); |
|
|
var term_id = t.find('input:radio:checked').val(); |
|
|
var term_name = t.find('input[name=term_name]').val(); |
|
|
if(term_name=='' && term_id==undefined){ |
|
|
showAlert(JSON.parse('{"status":3,"msg":"为什么不选分类"}')); |
|
|
return false; |
|
|
} |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'json', |
|
|
data : t.serialize()+"&action=add_custom_url", |
|
|
}) |
|
|
.done(function(response) { |
|
|
if(response.status !=1){ |
|
|
showAlert(response); |
|
|
return; |
|
|
} |
|
|
var url_f,matches = url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); |
|
|
if (!matches || matches.length < 2) url_f=url; |
|
|
else { |
|
|
url_f=matches[0]; |
|
|
if(theme.urlformat == '1') |
|
|
url_f = matches[1]; |
|
|
} |
|
|
var id = response.id; |
|
|
var newSite = $('<div id="url-'+id+'" class="url-card sortable col-6 '+theme.classColumns+' col-xxl-10a">'+ |
|
|
'<div class="url-body mini"><a href="'+url+'" target="_blank" class="card new-site mb-3 site-'+id+'" data-id="'+id+'" data-url="'+url+'" data-toggle="tooltip" data-placement="bottom" title="'+name+'" rel="external nofollow">'+ |
|
|
'<div class="card-body" style="padding:0.4rem 0.5rem;">'+ |
|
|
'<div class="url-content d-flex align-items-center">'+ |
|
|
'<div class="url-img rounded-circle mr-2 d-flex align-items-center justify-content-center">'+ |
|
|
'<img src="' + theme.icourl + url_f + theme.icopng + '">'+ |
|
|
'</div>'+ |
|
|
'<div class="url-info flex-fill">'+ |
|
|
'<div class="text-sm overflowClip_1">'+ |
|
|
'<strong>'+name+'</strong>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</a></div>' + |
|
|
'<a href="javascript:;" class="text-center remove-cm-site" data-action="delete_custom_url" data-id="'+id+'"><i class="iconfont icon-close-circle"></i></a>'+ |
|
|
'</div>'); |
|
|
$(".add-custom-site[data-term_id="+term_id+"]").before(newSite); |
|
|
tt.reset(); |
|
|
tt.querySelector("input").focus(); |
|
|
t.find(".btn-close-fm").click(); |
|
|
showAlert(JSON.parse('{"status":1,"msg":"添加成功。"}')); |
|
|
}) |
|
|
.fail(function() { |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
return; |
|
|
}) |
|
|
}); |
|
|
$(document).on("click",'.url-card .remove-cm-site', function(event){ |
|
|
var t = $(this); |
|
|
t.addClass('disabled'); |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
dataType: 'json', |
|
|
data : t.data(), |
|
|
}) |
|
|
.done(function(response) { |
|
|
if(response.status == 1){ |
|
|
t.parent().remove(); |
|
|
} |
|
|
t.removeClass('disabled'); |
|
|
showAlert(response); |
|
|
}) |
|
|
.fail(function() { |
|
|
t.removeClass('disabled'); |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
}) |
|
|
}); |
|
|
function ioSortable() { |
|
|
if($('.customize-sites').hasClass('edit')){ |
|
|
if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('disable'); |
|
|
//$('.customize-sites').find('a').attr('href','javascript:void(0)'); |
|
|
$('.customize-sites .site-list').sortable({ |
|
|
items: '.sortable', |
|
|
containment: ".main-content", |
|
|
//'placeholder': "ui-state-highlight", |
|
|
update : function(e, ui) { |
|
|
$('.customize-sites .site-list').sortable('disable'); |
|
|
var term_id = $(this).data('term_id'); |
|
|
var order = $(this).sortable('serialize'); |
|
|
|
|
|
|
|
|
var queryData = { "action": "update_custom_url_order", "term_id" : term_id, "order" : order }; |
|
|
$.ajax({ |
|
|
url: theme.ajaxurl, |
|
|
type: 'POST', |
|
|
data: queryData, |
|
|
cache: false, |
|
|
dataType: "json", |
|
|
success: function(data){ |
|
|
if(data.status != 1){ |
|
|
showAlert(data); |
|
|
} |
|
|
$('.customize-sites .site-list').sortable('enable'); |
|
|
}, |
|
|
error: function(html){ |
|
|
$('.customize-sites .site-list').sortable('enable'); |
|
|
showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); |
|
|
} |
|
|
}); |
|
|
|
|
|
} |
|
|
}); |
|
|
}else{ |
|
|
if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('enable'); |
|
|
//$('.customize-sites').find('a').attr('href',$(this).data('url')); |
|
|
$( ".customize-sites .site-list" ).sortable( "destroy" ); |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
$("input[name=term_name]").focus(function(){ |
|
|
var this_input = $("input[name=term_id]"); |
|
|
this_input.prop('checked', false); |
|
|
}); |
|
|
$('.form_custom_term_id').on("click", function(event){ |
|
|
$("input[name=term_name]").val(""); |
|
|
}); |
|
|
$(document).on('click', '.url-card a.card', function(event) { |
|
|
var site = { |
|
|
id: $(this).data("id"), |
|
|
name: $(this).find("strong").html(), |
|
|
url: $(this).data("url") |
|
|
}; |
|
|
if(site.url==="") |
|
|
return; |
|
|
var liveList = getItem("livelists"); |
|
|
var isNew = true; |
|
|
for (var i = 0; i < liveList.length; i++){ |
|
|
if (liveList[i].name === site.name) { |
|
|
isNew = false; |
|
|
} |
|
|
} |
|
|
if(isNew){ |
|
|
var maxSite = theme.customizemax; |
|
|
if(liveList.length > maxSite-1){ |
|
|
$(".my-click-list .site-"+liveList[maxSite-1].id).parent().remove(); |
|
|
liveList.splice(maxSite-1, 1); |
|
|
} |
|
|
addSite(site,true,true); |
|
|
liveList.unshift(site); |
|
|
setItem(liveList,"livelists"); |
|
|
} |
|
|
}); |
|
|
// 搜索模块 ----------------------- |
|
|
function intoSearch() { |
|
|
if(window.localStorage.getItem("searchlist")){ |
|
|
$(".hide-type-list input#"+window.localStorage.getItem("searchlist")).prop('checked', true); |
|
|
$(".hide-type-list input#m_"+window.localStorage.getItem("searchlist")).prop('checked', true); |
|
|
} |
|
|
if(window.localStorage.getItem("searchlistmenu")){ |
|
|
$('.s-type-list.big label').removeClass('active'); |
|
|
$(".s-type-list [data-id="+window.localStorage.getItem("searchlistmenu")+"]").addClass('active'); |
|
|
} |
|
|
toTarget($(".s-type-list.big"),false,false); |
|
|
$('.hide-type-list .s-current').removeClass("s-current"); |
|
|
$('.hide-type-list input:radio[name="type"]:checked').parents(".search-group").addClass("s-current"); |
|
|
$('.hide-type-list input:radio[name="type2"]:checked').parents(".search-group").addClass("s-current"); |
|
|
|
|
|
$(".super-search-fm").attr("action",$('.hide-type-list input:radio:checked').val()); |
|
|
$(".search-key").attr("placeholder",$('.hide-type-list input:radio:checked').data("placeholder")); |
|
|
if(window.localStorage.getItem("searchlist")=='type-zhannei'){ |
|
|
$(".search-key").attr("zhannei","true"); |
|
|
} |
|
|
} |
|
|
$(document).on('click', '.s-type-list label', function(event) { |
|
|
//event.preventDefault(); |
|
|
$('.s-type-list.big label').removeClass('active'); |
|
|
$(this).addClass('active'); |
|
|
window.localStorage.setItem("searchlistmenu", $(this).data("id")); |
|
|
var parent = $(this).parents(".s-search"); |
|
|
parent.find('.search-group').removeClass("s-current"); |
|
|
parent.find('#'+$(this).attr("for")).parents(".search-group").addClass("s-current"); |
|
|
toTarget($(this).parents(".s-type-list"),false,false); |
|
|
}); |
|
|
$('.hide-type-list .search-group input').on('click', function() { |
|
|
var parent = $(this).parents(".s-search"); |
|
|
window.localStorage.setItem("searchlist", $(this).attr("id").replace("m_","")); |
|
|
parent.children(".super-search-fm").attr("action",$(this).val()); |
|
|
parent.find(".search-key").attr("placeholder",$(this).data("placeholder")); |
|
|
|
|
|
if($(this).attr('id')=="type-zhannei" || $(this).attr('id')=="m_type-zhannei") |
|
|
parent.find(".search-key").attr("zhannei","true"); |
|
|
else |
|
|
parent.find(".search-key").attr("zhannei",""); |
|
|
|
|
|
parent.find(".search-key").select(); |
|
|
parent.find(".search-key").focus(); |
|
|
}); |
|
|
$(document).on("submit", ".super-search-fm", function() { |
|
|
var key = encodeURIComponent($(this).find(".search-key").val()) |
|
|
if(key == "") |
|
|
return false; |
|
|
else{ |
|
|
window.open( $(this).attr("action") + key); |
|
|
return false; |
|
|
} |
|
|
}); |
|
|
function getSmartTipsGoogle(value,parents) { |
|
|
$.ajax({ |
|
|
type: "GET", |
|
|
url: "//suggestqueries.google.com/complete/search?client=firefox&callback=iowenHot", |
|
|
async: true, |
|
|
data: { q: value }, |
|
|
dataType: "jsonp", |
|
|
jsonp: "callback", |
|
|
success: function(res) { |
|
|
var list = parents.children(".search-smart-tips"); |
|
|
list.children("ul").text(""); |
|
|
tipsList = res[1].length; |
|
|
if (tipsList) { |
|
|
for (var i = 0; i < tipsList; i++) { |
|
|
list.children("ul").append("<li>" + res[1][i] + "</li>"); |
|
|
list.find("li").eq(i).click(function() { |
|
|
var keyword = $(this).html(); |
|
|
parents.find(".smart-tips.search-key").val(keyword); |
|
|
parents.children(".super-search-fm").submit(); |
|
|
list.slideUp(200); |
|
|
}); |
|
|
}; |
|
|
list.slideDown(200); |
|
|
} else { |
|
|
list.slideUp(200) |
|
|
} |
|
|
}, |
|
|
error: function(res) { |
|
|
tipsList = 0; |
|
|
} |
|
|
}) |
|
|
} |
|
|
function getSmartTipsBaidu(value,parents) { |
|
|
$.ajax({ |
|
|
type: "GET", |
|
|
url: "//sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?cb=iowenHot", |
|
|
async: true, |
|
|
data: { wd: value }, |
|
|
dataType: "jsonp", |
|
|
jsonp: "cb", |
|
|
success: function(res) { |
|
|
var list = parents.children(".search-smart-tips"); |
|
|
list.children("ul").text(""); |
|
|
tipsList = res.s.length; |
|
|
if (tipsList) { |
|
|
for (var i = 0; i < tipsList; i++) { |
|
|
list.children("ul").append("<li>" + res.s[i] + "</li>"); |
|
|
list.find("li").eq(i).click(function() { |
|
|
var keyword = $(this).html(); |
|
|
parents.find(".smart-tips.search-key").val(keyword); |
|
|
parents.children(".super-search-fm").submit(); |
|
|
list.slideUp(200); |
|
|
}); |
|
|
}; |
|
|
list.slideDown(200); |
|
|
} else { |
|
|
list.slideUp(200) |
|
|
} |
|
|
}, |
|
|
error: function(res) { |
|
|
tipsList = 0; |
|
|
} |
|
|
}) |
|
|
} |
|
|
var listIndex = -1; |
|
|
var parent; |
|
|
var tipsList = 0; |
|
|
var isZhannei = false; |
|
|
$(document).on("blur", ".smart-tips.search-key", function() { |
|
|
parent = ''; |
|
|
$(".search-smart-tips").delay(150).slideUp(200) |
|
|
}); |
|
|
$(document).on("focus", ".smart-tips.search-key", function() { |
|
|
isZhannei = $(this).attr('zhannei')!=''?true:false; |
|
|
parent = $(this).parents('#search'); |
|
|
if ($(this).val() && !isZhannei) { |
|
|
switch(theme.hotWords) { |
|
|
case "baidu": |
|
|
getSmartTipsBaidu($(this).val(),parent) |
|
|
break; |
|
|
case "google": |
|
|
getSmartTipsGoogle($(this).val(),parent) |
|
|
break; |
|
|
default: |
|
|
} |
|
|
} |
|
|
}); |
|
|
$(document).on("keyup", ".smart-tips.search-key", function(e) { |
|
|
isZhannei = $(this).attr('zhannei')!=''?true:false; |
|
|
parent = $(this).parents('#search'); |
|
|
if ($(this).val()) { |
|
|
if (e.keyCode == 38 || e.keyCode == 40 || isZhannei) { |
|
|
return |
|
|
} |
|
|
switch(theme.hotWords) { |
|
|
case "baidu": |
|
|
getSmartTipsBaidu($(this).val(),parent) |
|
|
break; |
|
|
case "google": |
|
|
getSmartTipsGoogle($(this).val(),parent) |
|
|
break; |
|
|
default: |
|
|
} |
|
|
listIndex = -1; |
|
|
} else { |
|
|
$(".search-smart-tips").slideUp(200) |
|
|
} |
|
|
}); |
|
|
$(document).on("keydown", ".smart-tips.search-key", function(e) { |
|
|
parent = $(this).parents('#search'); |
|
|
if (e.keyCode === 40) { |
|
|
listIndex === (tipsList - 1) ? listIndex = 0 : listIndex++; |
|
|
parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); |
|
|
var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); |
|
|
parent.find(".smart-tips.search-key").val(hotValue) |
|
|
} |
|
|
if (e.keyCode === 38) { |
|
|
if (e.preventDefault) { |
|
|
e.preventDefault() |
|
|
} |
|
|
if (e.returnValue) { |
|
|
e.returnValue = false |
|
|
} |
|
|
listIndex === 0 || listIndex === -1 ? listIndex = (tipsList - 1) : listIndex--; |
|
|
parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); |
|
|
var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); |
|
|
parent.find(".smart-tips.search-key").val(hotValue) |
|
|
} |
|
|
}); |
|
|
$('.nav-login-user.dropdown').hover(function(){ |
|
|
if(!$(this).hasClass('show')) |
|
|
$(this).children('a').click(); |
|
|
},function(){ |
|
|
//$(this).removeClass('show'); |
|
|
//$(this).children('a').attr('aria-expanded',false); |
|
|
//$(this).children('.dropdown-menu').removeClass('show'); |
|
|
}); |
|
|
$('#add-new-sites-modal').on('show.bs.modal', function (event) { |
|
|
var button = $(event.relatedTarget); |
|
|
var modal = $(this); |
|
|
modal.find('[name="term_id"]').val( button.data('terms_id') ); |
|
|
modal.find('[name="url"]').val( button.data('new_url') ); |
|
|
modal.find('[name="url_name"]').val(''); |
|
|
modal.find('[name="url_summary"]').removeClass('is-invalid').val(''); |
|
|
button.data('new_url',''); |
|
|
var _url = modal.find('[name="url"]').val(); |
|
|
if(_url!=''){ |
|
|
getUrlInfo(_url,modal); |
|
|
urlStartValue = _url; |
|
|
} |
|
|
}); |
|
|
var urlStartValue = ''; |
|
|
$('#modal-new-url').on('blur',function(){ |
|
|
var t = $(this); |
|
|
if(t.val()!=''){ |
|
|
if(isURL(t.val())){ |
|
|
if(urlStartValue!=t.val()){ |
|
|
urlStartValue = t.val(); |
|
|
getUrlInfo(t.val(),$('.add_new_sites_modal')); |
|
|
} |
|
|
}else{ |
|
|
showAlert(JSON.parse('{"status":4,"msg":"URL 无效!"}')); |
|
|
} |
|
|
} |
|
|
}); |
|
|
$('#modal-new-url-summary').on('blur',function(){ |
|
|
var t = $(this); |
|
|
if(t.val()!=''){ |
|
|
t.removeClass('is-invalid'); |
|
|
} |
|
|
}); |
|
|
function getUrlInfo(_url,modal){ |
|
|
$('#modal-new-url-ico').show(); |
|
|
$.post("//apiv2.iotheme.cn/webinfo/get.php", { url: _url ,key: theme.apikey },function(data,status){ |
|
|
if(data.code==0){ |
|
|
$('#modal-new-url-ico').hide(); |
|
|
$("#modal-new-url-summary").addClass('is-invalid'); |
|
|
} |
|
|
else{ |
|
|
$('#modal-new-url-ico').hide(); |
|
|
if(data.site_title=="" && data.site_description==""){ |
|
|
$("#modal-new-url-summary").addClass('is-invalid'); |
|
|
}else{ |
|
|
modal.find('[name="url_name"]').val(data.site_title); |
|
|
modal.find('[name="url_summary"]').val(data.site_description); |
|
|
} |
|
|
} |
|
|
}).fail(function () { |
|
|
$('#modal-new-url-ico').hide(); |
|
|
$(".refre_msg").html('访问超时,请再试试,或者手动填写').show(200).delay(4000).hide(200); |
|
|
}); |
|
|
} |
|
|
})(jQuery); |
|
|
function isURL(URL){ |
|
|
var str=URL; |
|
|
var Expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/; |
|
|
var objExp=new RegExp(Expression); |
|
|
if(objExp.test(str)==true){ |
|
|
return true; |
|
|
}else{ |
|
|
return false; |
|
|
} |
|
|
} |
|
|
function isPC() { |
|
|
let u = navigator.userAgent; |
|
|
let Agents = ["Android", "iPhone", "webOS", "BlackBerry", "SymbianOS", "Windows Phone", "iPad", "iPod"]; |
|
|
let flag = true; |
|
|
for (let i = 0; i < Agents.length; i++) { |
|
|
if (u.indexOf(Agents[i]) > 0) { |
|
|
flag = false; |
|
|
break; |
|
|
} |
|
|
} |
|
|
return flag; |
|
|
} |
|
|
function chack_name(str){ |
|
|
//var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); |
|
|
var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\*)(\()(\))(\+)(\=)(\[)(\])(\{)(\})(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); |
|
|
if (pattern.test(str)){ |
|
|
return true; |
|
|
} |
|
|
return false; |
|
|
} |
|
|
function showAlert(data) { |
|
|
var title,alert,ico; |
|
|
switch(data.status) { |
|
|
case 1: |
|
|
title = '成功'; |
|
|
alert='success'; |
|
|
ico='icon-adopt'; |
|
|
break; |
|
|
case 2: |
|
|
title = '信息'; |
|
|
alert='info'; |
|
|
ico='icon-tishi'; |
|
|
break; |
|
|
case 3: |
|
|
title = '警告'; |
|
|
alert='warning'; |
|
|
ico='icon-warning'; |
|
|
break; |
|
|
case 4: |
|
|
title = '错误'; |
|
|
alert='danger'; |
|
|
ico='icon-close-circle'; |
|
|
break; |
|
|
default: |
|
|
} |
|
|
var msg = data.msg; |
|
|
if(!$('#alert_placeholder').hasClass('text-sm')){ |
|
|
$('body').append('<div id="alert_placeholder" class="text-sm" style="position: fixed;bottom: 10px;right: 10px;z-index: 2000;text-align: right;text-align: -webkit-right"></div>') |
|
|
} |
|
|
$html = $('<div class="alert-body" style="display:none;"><div class="alert alert-'+alert+' text-lg pr-4 pr-md-5" style="text-align:initial"><i class="iconfont '+ico+' icon-lg" style="vertical-align: middle;margin-right: 10px"></i><span style="vertical-align:middle">'+title+'</span><br><span class="text-md" style="margin-left:30px;vertical-align:middle">'+msg+'</span></div></div>'); |
|
|
$('#alert_placeholder').append( $html );//prepend |
|
|
$html.show(200).delay(3500).hide(300, function(){ $(this).remove() }); |
|
|
} |
|
|
function toTarget(menu, padding, isMult) { |
|
|
var slider = menu.children(".anchor"); |
|
|
var target = menu.children(".hover").first() ; |
|
|
if (target && 0 < target.length){ |
|
|
} |
|
|
else{ |
|
|
if(isMult) |
|
|
target = menu.find('.active').parent(); |
|
|
else |
|
|
target = menu.find('.active'); |
|
|
} |
|
|
if(0 < target.length){ |
|
|
if(padding) |
|
|
slider.css({ |
|
|
left: target.position().left + target.scrollLeft() + "px", |
|
|
width: target.outerWidth() + "px", |
|
|
opacity: "1" |
|
|
}); |
|
|
else |
|
|
slider.css({ |
|
|
left: target.position().left + target.scrollLeft() + (target.outerWidth()/4) + "px", |
|
|
width: target.outerWidth()/2 + "px", |
|
|
opacity: "1" |
|
|
}); |
|
|
} |
|
|
else{ |
|
|
slider.css({ |
|
|
opacity: "0" |
|
|
}) |
|
|
} |
|
|
} |
|
|
var ioadindex = 0; |
|
|
function loadingShow(parent = "body"){ |
|
|
if($('.load-loading')[0]){ |
|
|
ioadindex ++; |
|
|
return $('.load-loading'); |
|
|
} |
|
|
var load = $('<div class="load-loading" style="display:none"><div class="bg"></div><div class="rounded-lg bg-light" style="z-index:1"><div class="spinner-border m-4" role="status"><span class="sr-only">Loading...</span></div></div></div>'); |
|
|
$(parent).prepend(load); |
|
|
load.fadeIn(200); |
|
|
return load; |
|
|
} |
|
|
function loadingHid(load){ |
|
|
if(ioadindex>0) |
|
|
ioadindex--; |
|
|
else{ |
|
|
ioadindex = 0; |
|
|
load.fadeOut(300,function(){ load.remove() }); |
|
|
} |
|
|
} |
|
|
function ioPopupTips(type, msg, callBack) { |
|
|
var ico = ''; |
|
|
switch(type) { |
|
|
case 1: |
|
|
ico='icon-adopt'; |
|
|
break; |
|
|
case 2: |
|
|
ico='icon-tishi'; |
|
|
break; |
|
|
case 3: |
|
|
ico='icon-warning'; |
|
|
break; |
|
|
case 4: |
|
|
ico='icon-close-circle'; |
|
|
break; |
|
|
default: |
|
|
} |
|
|
var c = type==1 ? 'tips-success' : 'tips-error'; |
|
|
var html = '<section class="io-bomb '+c+' io-bomb-sm io-bomb-open">'+ |
|
|
'<div class="io-bomb-overlay"></div>'+ |
|
|
'<div class="io-bomb-body text-center">'+ |
|
|
'<div class="io-bomb-content bg-white px-5"><i class="iconfont '+ico+' icon-8x"></i>'+ |
|
|
'<p class="text-md mt-3">'+msg+'</p>'+ |
|
|
'</div>'+ |
|
|
'</div>'+ |
|
|
'</section>'; |
|
|
var tips = $(html); |
|
|
$('body').addClass('modal-open').append(tips); |
|
|
setTimeout(function(){ |
|
|
$('body').removeClass('modal-open'); |
|
|
if ($.isFunction(callBack)) callBack(true); |
|
|
tips.removeClass('io-bomb-open').addClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
tips.removeClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
tips.remove(); |
|
|
}, 200); |
|
|
},400); |
|
|
},2000); |
|
|
} |
|
|
function ioPopup(type, html, maskStyle, btnCallBack) { |
|
|
var maskStyle = maskStyle ? 'style="' + maskStyle + '"' : ''; |
|
|
var size = ''; |
|
|
if( type == 'big' ){ |
|
|
size = 'io-bomb-lg'; |
|
|
}else if( type == 'no-padding' ){ |
|
|
size = 'io-bomb-nopd'; |
|
|
}else if( type == 'cover' ){ |
|
|
size = 'io-bomb-cover io-bomb-nopd'; |
|
|
}else if( type == 'full' ){ |
|
|
size = 'io-bomb-xl'; |
|
|
}else if( type == 'small' ){ |
|
|
size = 'io-bomb-sm'; |
|
|
}else if( type == 'confirm' ){ |
|
|
size = 'io-bomb-md'; |
|
|
} |
|
|
var template = '\ |
|
|
<div class="io-bomb ' + size + ' io-bomb-open">\ |
|
|
<div class="io-bomb-overlay" ' + maskStyle + '></div>\ |
|
|
<div class="io-bomb-body text-center">\ |
|
|
<div class="io-bomb-content bg-white">\ |
|
|
'+html+'\ |
|
|
</div>\ |
|
|
<div class="btn-close-bomb mt-2">\ |
|
|
<i class="iconfont icon-close-circle"></i>\ |
|
|
</div>\ |
|
|
</div>\ |
|
|
</div>\ |
|
|
'; |
|
|
var popup = $(template); |
|
|
$('body').addClass('modal-open').append(popup); |
|
|
var close = function(){ |
|
|
$('body').removeClass('modal-open'); |
|
|
$(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
$(popup).removeClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
popup.remove(); |
|
|
}, 200); |
|
|
},600); |
|
|
} |
|
|
$(popup).on('click touchstart', '.btn-close-bomb i, .io-bomb-overlay', function(event) { |
|
|
event.preventDefault(); |
|
|
if ($.isFunction(btnCallBack)) btnCallBack(true); |
|
|
close(); |
|
|
}); |
|
|
return popup; |
|
|
} |
|
|
function ioConfirm(message, btnCallBack) { |
|
|
var template = '\ |
|
|
<div class="io-bomb io-bomb-confirm io-bomb-open">\ |
|
|
<div class="io-bomb-overlay"></div>\ |
|
|
<div class="io-bomb-body">\ |
|
|
<div class="io-bomb-content bg-white">\ |
|
|
'+message+'\ |
|
|
<div class="text-center mt-3">\ |
|
|
<button class="btn btn-danger mx-2" onclick="_onclick(true);">确定</button>\ |
|
|
<button class="btn btn-light mx-2" onclick="_onclick(false);">取消</button>\ |
|
|
</div>\ |
|
|
</div>\ |
|
|
</div>\ |
|
|
</div>\ |
|
|
'; |
|
|
var popup = $(template); |
|
|
$('body').addClass('modal-open').append(popup); |
|
|
_onclick = function (r) { |
|
|
close(); |
|
|
if ($.isFunction(btnCallBack)) btnCallBack(r); |
|
|
}; |
|
|
var close = function(){ |
|
|
$('body').removeClass('modal-open'); |
|
|
$(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
$(popup).removeClass('io-bomb-close'); |
|
|
setTimeout(function(){ |
|
|
popup.remove(); |
|
|
}, 200); |
|
|
},600); |
|
|
} |
|
|
return popup; |
|
|
} |
|
|
console.log("\n %c WebStack-Hugo 导航主题 By ShumLab %c https://www.shumlab.com/ \n", "color: #ffffff; background: #f1404b; padding:5px 0;", "background: #030307; padding:5px 0;"); |
|
|
|
|
|
/** |
|
|
* Minified by jsDelivr using Terser v5.3.5. |
|
|
* Original file: /npm/js-base64@3.6.0/base64.js |
|
|
* |
|
|
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files |
|
|
*/ |
|
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):function(){const r=e.Base64,o=t();o.noConflict=()=>(e.Base64=r,o),e.Meteor&&(Base64=o),e.Base64=o}()}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";const e="3.6.0",t="function"==typeof atob,r="function"==typeof btoa,o="function"==typeof Buffer,n="function"==typeof TextDecoder?new TextDecoder:void 0,a="function"==typeof TextEncoder?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],i=(e=>{let t={};return e.forEach(((e,r)=>t[e]=r)),t})(f),c=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):(e,t=(e=>e))=>new Uint8Array(Array.prototype.slice.call(e,0).map(t)),d=e=>e.replace(/[+\/]/g,(e=>"+"==e?"-":"_")).replace(/=+$/m,""),l=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),h=e=>{let t,r,o,n,a="";const i=e.length%3;for(let i=0;i<e.length;){if((r=e.charCodeAt(i++))>255||(o=e.charCodeAt(i++))>255||(n=e.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|n,a+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[63&t]}return i?a.slice(0,i-3)+"===".substring(i):a},p=r?e=>btoa(e):o?e=>Buffer.from(e,"binary").toString("base64"):h,y=o?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,o=e.length;r<o;r+=4096)t.push(u.apply(null,e.subarray(r,r+4096)));return p(t.join(""))},A=(e,t=!1)=>t?d(y(e)):y(e),b=e=>{if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?u(192|t>>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},g=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,B=e=>e.replace(g,b),x=o?e=>Buffer.from(e,"utf8").toString("base64"):a?e=>y(a.encode(e)):e=>p(B(e)),C=(e,t=!1)=>t?d(x(e)):x(e),m=e=>C(e,!0),U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=e=>{switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},w=e=>e.replace(U,F),S=e=>{if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,r,o,n="";for(let a=0;a<e.length;)t=i[e.charAt(a++)]<<18|i[e.charAt(a++)]<<12|(r=i[e.charAt(a++)])<<6|(o=i[e.charAt(a++)]),n+=64===r?u(t>>16&255):64===o?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return n},E=t?e=>atob(l(e)):o?e=>Buffer.from(e,"base64").toString("binary"):S,v=o?e=>s(Buffer.from(e,"base64")):e=>s(E(e),(e=>e.charCodeAt(0))),D=e=>v(z(e)),R=o?e=>Buffer.from(e,"base64").toString("utf8"):n?e=>n.decode(v(e)):e=>w(E(e)),z=e=>l(e.replace(/[-_]/g,(e=>"-"==e?"+":"/"))),T=e=>R(z(e)),Z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),j=function(){const e=(e,t)=>Object.defineProperty(String.prototype,e,Z(t));e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return C(this,e)})),e("toBase64URI",(function(){return C(this,!0)})),e("toBase64URL",(function(){return C(this,!0)})),e("toUint8Array",(function(){return D(this)}))},I=function(){const e=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,Z(t));e("toBase64",(function(e){return A(this,e)})),e("toBase64URI",(function(){return A(this,!0)})),e("toBase64URL",(function(){return A(this,!0)}))},O={version:e,VERSION:"3.6.0",atob:E,atobPolyfill:S,btoa:p,btoaPolyfill:h,fromBase64:T,toBase64:C,encode:C,encodeURI:m,encodeURL:m,utob:B,btou:w,decode:T,isValid:e=>{if("string"!=typeof e)return!1;const t=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:A,toUint8Array:D,extendString:j,extendUint8Array:I,extendBuiltins:()=>{j(),I()},Base64:{}};return Object.keys(O).forEach((e=>O.Base64[e]=O[e])),O})); |
|
|
/** |
|
|
* Chrome Bookmarks Converter |
|
|
* v1.0.0 |
|
|
* |
|
|
* Convert a standard exported Google Chrome bookmarks HTML file into a JavaScript oject structure. |
|
|
* |
|
|
* Dependencies: jQuery (latest). |
|
|
* |
|
|
* @summary Use JavaScript to convert an exported Chrome bookmarks HTML file. Export the results to JSON. |
|
|
* @author Jason Snelders <jason@jsnelders.com> |
|
|
* |
|
|
* Created at : 2019-11-14 22:34:00 |
|
|
* Last modified : 2019-11-14 22:34:00 |
|
|
*/ |
|
|
function ChromBookmarkConverter(){this.bookmarks={folders:[]},this.stripUnneededTags=function(a){return a=a.replace(/<p>/gi,""),a=a.replace(/<P>/gi,""),a=a.replace(/<dt>/gi,""),a=a.replace(/<DT>/gi,"")},this.processChromeBookmarksContent=function(a){var c,b=this;a=this.stripUnneededTags(a),c=$.parseHTML(a),$.each(c,function(a,c){if("DL"==c.tagName){var d={type:"folder",title:"未命名",items:[]};b.bookmarks.folders.push(d),b.processDL(c,1,d)}})},this.processDL=function(a,b,c){var d=this,e=0,f={},g={type:"folder",title:"",add_date:"",last_modified:"",items:[]},h={},i=$(a),j=!1;$.each(i.children(),function(a,i){var k,l,m,n,o,p,q,r,s;e+=1,k=b+"."+e,1==j&&i.tagName.toLowerCase()!="DL".toLowerCase()&&(j=!1,console.log("h3",f),g.items.push(f)),i.tagName.toLowerCase()=="DL".toLowerCase()&&(g={type:"folder",title:f.title,add_date:f.add_date,last_modified:f.last_modified,items:[]},1==j&&(j=!1),d.bookmarks.folders.push(g),d.processDL(i,k,g)),i.tagName.toLowerCase()=="H3".toLowerCase()&&(l=$(i),m=l.text()?l.text():"未命名",n=l.attr("add_date"),o=l.attr("last_modified"),f={type:"header",title:m,add_date:n,last_modified:o},j=!0),"a"==i.tagName.toLowerCase()&&isURL($(i).attr("href"))&&""!=$(i).text()&&(p=$(i),q=p.text(),r=p.attr("href"),s=p.attr("add_date"),p.attr("icon"),h={type:"link",title:q,href:r,add_date:s},c.items.push(h))})}}
|
|
|
|