|
|
//页面加载完就执行
$(function(){
//自动根据url把当前菜单激活
var current_page_id = $("#current_page_id").val(); //如果中没有指定page_id,则判断有没有父目录为0的页面,默认打开第一个
if(!current_page_id) { current_page_id = $(".doc-left li").children("a").attr("data-page-id"); }; if(current_page_id !=null && current_page_id.toString().length>0) { $(".doc-left li").each(function(){ page_id = $(this).children("a").attr("data-page-id"); //如果链接中包含当前url的信息,两者相匹配
if (page_id !=null && page_id.toString().length>0 && page_id == current_page_id) { //激活菜单
$(this).addClass("active"); //如果该菜单是子菜单,则还需要把父菜单打开才行
if ($(this).parent('.child-ul')) { $(this).parent('.child-ul').show(); $(this).parent('.child-ul').parent('li').children("a").children('i').attr("class","icon-chevron-down"); if($(this).parent('.child-ul').parent().parent('.child-ul')){ $(this).parent('.child-ul').parent().parent('.child-ul').show(); $(this).parent('.child-ul').parent().parent('.child-ul').parent('li').children("a").children('i').attr("class","icon-chevron-down"); } }; page_title = $(this).children("a")[0].innerText; document.title = page_title + " - ShowDoc"; if (page_id != '' && page_id !='#') { change_page(page_id) }; }; }) }
//根据屏幕宽度进行响应(应对移动设备的访问)
if( isMobile() || $(window).width() < 1000){ AdaptToMobile(); }
$(window).resize(function(){ if( isMobile()){ AdaptToMobile(); }
else if($(window).width() < 1000){ AdaptToMobile(); }else{ window.location.reload(); } });
//增加返回顶部按钮
$.goup({ trigger: 100, bottomOffset: 150, locationOffset: 100, title: lang["back_to_top"] , titleAsText: true, containerColor:"#08c", });
//js获取url参数
function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; }
function AdaptToMobile(){ $(".doc-left").removeClass("span3"); $(".doc-left").css("width",'100%'); $(".doc-left").css("height",'initial'); $(".doc-left").css("min-height",'0px'); $(".doc-left").css("position",'static'); $(".doc-right").css("margin-top",'0px'); $(".doc-right").css("margin-left",'0px'); $(".doc-right").removeClass("span12"); $(".doc-head .right").hide(); $(".page-edit-link").html(''); $(".doc-left-newbar").html(''); //$(".iframe_content").css("padding-left","30px");
$(".iframe_content").css("width",''); $(".doc-left .nav-list li a i ").css("margin-left" , '10px'); $(".search-input-append").css("width","100%"); $(".search-query-input").css("width","70%");
}
function mScroll(id){ $("html,body").stop(true); $("html,body").animate( {scrollTop: $("#"+id).offset().top}, 2000); }
//点击左侧菜单事件
$(".doc-left li").click(function(){ //先把所有菜单的激活状态取消
$(".doc-left li").each(function(){ $(this).removeClass("active"); }); //先判断是否存在子菜单
if ($(this).children('.child-ul').length != 0) { //如果子菜单是隐藏的,则显示之;如果是显示状态的,则隐藏
if ($(this).children('.child-ul').css("display") == "none") { $(this).children('.child-ul').show(); $(this).children("a").children('i').attr("class","icon-chevron-down"); }else{ $(this).children('.child-ul').hide(); $(this).children("a").children('i').attr("class","icon-chevron-right"); } }; //激活菜单
$(this).addClass("active"); //获取对应的page_id
page_id = $(this).children("a").attr("data-page-id"); page_title = $(this).children("a")[0].innerText; if (page_id != '' && page_id != null && page_id !='#') { if (page_title != '' && page_title != null) { document.title = page_title + " - ShowDoc"; } change_page(page_id); //如果是移动设备的话,则滚动页面
if( isMobile()){ mScroll("page-content"); } }; return false;//禁止原有的href链接
});
//切换页面;
function change_page(page_id){ if(!page_id)return; var item_id = $("#item_id").val(); var item_domain = $("#item_domain").val(); var base_url = $("#base_url").val(); var iframe_url = base_url+"/home/page/index/page_id/"+page_id;
$(".page-edit-link").show(); //$("#page-content").attr("src" , iframe_url);
$("#edit-link").attr("href" , base_url+"/home/page/edit/page_id/"+page_id); $("#copy-link").attr("href" , base_url+"/home/page/edit/item_id/"+item_id+"/copy_page_id/"+page_id); $("#delete-link").data("page_id",page_id); var domain = item_domain ? item_domain : item_id ; var cur_page_url = window.location.protocol +"//"+window.location.host+base_url+"/"+domain; if(base_url.length == 0){ cur_page_url += "?page_id="+page_id; }else{ cur_page_url += "&page_id="+page_id; } $("#share-page-link").html(cur_page_url); history.replaceState(null, null, cur_page_url); var single_page_url = window.location.protocol +"//"+window.location.host+base_url+"/page/"+page_id; $("#share-single-link").html(single_page_url);
$("#qr-page-link").attr("src","?s=home/common/qrcode&size=3&url="+encodeURIComponent(cur_page_url)); $("#qr-single-link").attr("src","?s=home/common/qrcode&size=3&url="+encodeURIComponent(single_page_url)); $(".show_page_info").data("page_id",page_id); var html = '<iframe id="page-content" width="100%" scrolling="yes" height="100%" frameborder="0" style=" overflow:visible; height:100%;" name="main" seamless ="seamless"src="'+iframe_url+'"></iframe>'; $(".iframe_content").html(html); iFrameHeight(); }
//分享项目
$("#share").click(function(){ $("#share-modal").modal(); //延迟绑定分享事件
setTimeout(function(){ $('#copy-item-link').zclip( { path: DocConfig.pubile +'/jquery.zclip/ZeroClipboard.swf', copy:function() { return $('#share-item-link').html(); }, afterCopy: function() { show_top_msg("已经成功复制到剪切板",2000); } });
},500); return false; });
//分享页面
$("#share-page").click(function(){ $("#share-page-modal").modal(); //延迟绑定分享事件
setTimeout(function(){ $('#copy-page-link').zclip( { path: DocConfig.pubile +'/jquery.zclip/ZeroClipboard.swf', copy:function() { return $('#share-page-link').html(); }, afterCopy: function() { show_top_msg("已经成功复制到剪切板",2000); } });
$('#copy-single-link').zclip( { path:DocConfig.pubile +'/jquery.zclip/ZeroClipboard.swf', copy:function() { return $('#share-single-link').html(); }, afterCopy: function() { show_top_msg("已经成功复制到剪切板",2000); } }); },500);
return false; });
function iFrameHeight() { var ifr = document.getElementById('page-content'); ifr.onload = function() { var iDoc = ifr.contentDocument || ifr.document; var height = calcPageHeight(iDoc); ifr.style.height = height + 'px'; } }
// 计算页面的实际高度,iframe自适应会用到
function calcPageHeight(doc) { var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight) var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight) var height = Math.max(cHeight, sHeight) return height }
var keyMap = { // 编辑
"Ctrl+E": function() { location.href = $("#edit-link").attr('href'); }, // 删除
"Ctrl+D": function() { $("#delete-link").click(); }, // 新建页面
"Ctrl+F1": function() { location.href = $("#new-like").attr('href'); }, // 新建目录
"Ctrl+F2": function() { location.href = $("#dir-like").attr('href'); } }; if (!isMobile()) initKeys(); function initKeys() { var $doc = $(document); $.each(keyMap, function(key, fn) { $doc.on('keydown', null, key, function(e) { e.preventDefault(); fn(); return false; }); }); }
$(".show_page_info").click(function(){ var page_id = $(this).data("page_id") ; $.post( DocConfig.server+"/api/page/info", {"page_id":page_id}, function(data){ var html = "<p>最后编辑时间:"+data.data.addtime+"</p><p>编辑人:"+data.data.author_username+"</p>"; $.alert(html); }, "json"
); return false; });
//删除页面
$("#delete-link").click(function(){ var page_id = $(this).data("page_id") ; $.confirm(lang["confirm_to_delete"],{},function(){ $.post( DocConfig.server+"/api/page/delete", {"page_id":page_id}, function(data){ if (data.error_code == 0) { $.alert(lang["delete_success"],function(){ window.location.reload(); }); }else{ if (data.error_message) { $.alert(data.error_message); }else{ $.alert(lang["delete_fail"]); } } }, "json"
); });
return false; });
$("#delete-link").click(function(){ var page_id = $(this).data("page_id") ; $.confirm(lang["confirm_to_delete"],{},function(){ $.post( DocConfig.server+"/api/page/delete", {"page_id":page_id}, function(data){ if (data.error_code == 0) { $.alert(lang["delete_success"],function(){ window.location.reload(); }); }else{ if (data.error_message) { $.alert(data.error_message); }else{ $.alert(lang["delete_fail"]); } } }, "json"
); });
return false; }); window.addEventListener('message', function(e){ if(e.origin != window.location.origin) return; if (e.data.meessage_type != 'img_url') { return ; } var img_url =e.data.img_url; var json = { "title": "", //相册标题
"id": 123, //相册id
"start": 0, //初始显示的图片序号,默认0
"data": [ //相册包含的图片,数组格式
{ "alt": "", "pid": 666, //图片id
"src": img_url, //原图地址
"thumb": img_url //缩略图地址
} ] } $.photos({ photos: json ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
}); }, false);
})
|