You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

386 regels
12 KiB

//页面加载完就执行
$(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);
})