skip to main |
skip to sidebar
");
$(".post-body h2").each(
function(nIndex)
{
var sHash = "head-"+(nIndex+1);
$(this).before("
");
var sTitle = $(this).html().replace(/<.>|/g, "");
$(".post-inner-index").append("
"+sTitle+"");
}
);
}
function initArticleInternalLinks()
{
var sSite = "http://"+Url.getDomain()+"/"; // Force HTTPS
$(".post-body a").each(
function(nIndex)
{
var sUrl = $(this).attr("href");
(sUrl && sUrl.startsWith(sSite))
&& $(this).attr("href", sUrl.replace(/^http:/i, "https:"));
}
);
}
function initArticleMaxMinBox()
{
$(".post-toolbar-1 .post-config-buttons")
.append("

")
.append("

")
.append("

")
$(".post-config-buttons .maximize").click(
function()
{
$("#sidebar").hide();
$("#main").css("width", "100%");
$("#comments").hide();
$("#Header1").hide();
var mapConfig = loadConfig();
("true"==mapConfig["side-toolbar.show"]) && $("#side-toolbar").hide();
$(".post-config-buttons .minimize").show();
$(this).hide();
$("a[name=article]").scrollTo("fast");
}
);
$(".post-config-buttons .minimize").hide().click( function() { layoutReset() } );
} // initArticleMaxMinBox() end
var RATIO_NUM = 10000;
function loadToolbarPos()
{
if(!hadConfig())
{
return;
}
var mapConfig = loadConfig();
if(mapConfig["side-toolbar.show"]!="true" || mapConfig["side-toolbar.drag"]!="true")
{
return;
}
$("#side-toolbar").css("margin-left", "0px");
$("#side-toolbar").css("margin-top", "0px");
var sPos = mapConfig["side-toolbar.drag-pos"];
if(sPos.match(/\d{1,5}_\d{1,5}/))
{
var offset = {
left: parseInt(sPos.split("_")[0]),
top: parseInt(sPos.split("_")[1])
};
offset.left = Math.round($(window).width() * offset.left / RATIO_NUM);
offset.top = Math.round($(window).height() * offset.top / RATIO_NUM);
if(offset.left > $(window).width()/2)
{
offset.left -= $("#side-toolbar").width();
}
if(offset.top > $(window).height()/2)
{
offset.top -= $("#side-toolbar").height();
}
$("#side-toolbar").adjustPosition(offset);
}
else if("" == sPos)
{
var offset = {
left: $(window).width() - 38,
top: $(window).height()/2 - 60
};
$("#side-toolbar").adjustPosition(offset);
}
}
function saveToolbarPos()
{
var offset = $("#side-toolbar").offset();
offset.left = offset.left - $(window).scrollLeft();
offset.top = offset.top - $(window).scrollTop();
offset = $("#side-toolbar").adjustPosition(offset);
if(!hadConfig())
{
showBottomTip("到“
界面配置”"
+ "开启相关选项,既可【自动保存】工具条的位置", 10000);
return;
}
var mapConfig = loadConfig();
if(mapConfig["side-toolbar.show"]!="true"
|| mapConfig["side-toolbar.drag"]!="true")
{
return;
}
(offset.left > $(window).width()/2)
&& (offset.left += $("#side-toolbar").width());
(offset.top > $(window).height()/2)
&& (offset.top += $("#side-toolbar").height());
offset.left = Math.round(offset.left / $(window).width() * RATIO_NUM);
offset.top = Math.round(offset.top / $(window).height() * RATIO_NUM);
mapConfig["side-toolbar.drag-pos"] = offset.left+"_"+offset.top;
if(saveConfig(mapConfig))
{
showBottomTip("已经把工具条的位置保存到 cookie 中。", 3000);
}
else
{
showBottomTip("【无法】保存工具条的位置到 cookie 中!请检查你的浏览器设置。", 5000);
}
}
function initToolbar(mapConfig)
{
if(mapConfig["side-toolbar.show"] != "true")
{
return;
}
$("#side-toolbar .go-options").show();
if("true" == mapConfig["side-toolbar.drag"])
{
$("#side-toolbar").draggable({
cancel: "a",
cursor: "move",
start: function(event, ui)
{
$("#side-toolbar").css("margin-left", "0px");
$("#side-toolbar").css("margin-top", "0px");
},
stop: function(event, ui) { saveToolbarPos() }
});
if(hadConfig())
{
$("#side-toolbar").hover(
function()
{
$("#side-toolbar .drag").show();
var offset = $("#side-toolbar").offset();
offset.left = offset.left - $(window).scrollLeft();
offset.top = offset.top - $(window).scrollTop() - 32;
$("#side-toolbar").adjustPosition(offset);
},
function()
{
$("#side-toolbar .drag").hide();
var offset = $("#side-toolbar").offset();
offset.left = offset.left - $(window).scrollLeft();
offset.top = offset.top - $(window).scrollTop() + 32;
$("#side-toolbar").adjustPosition(offset);
}
);
}
else
{
$("#side-toolbar .drag").show();
}
}
$(window).resize(
function(event) { delayRun(function() { loadToolbarPos() }, 300) }
);
$(window).trigger("resize"); // trick
$("#side-toolbar").css("visibility", "visible");
} // initToolbar() end
function init()
{
var mapConfig = loadConfig();
// Apply font size
$(".post").css("font-size", mapConfig["article.font-size"]+"%");
$("#comments").css("font-size", mapConfig["comments.font-size"]+"%");
$("#tweets").css("font-size", mapConfig["tweets.font-size"]+"%");
initArticleMaxMinBox();
initToolbar(mapConfig);
initArticleInnerLinks(mapConfig);
initArticleInternalLinks();
$(document).tooltip({
content: Tooltip.content,
open: function(event, ui) { Tooltip.open(event, ui, 3000); }
});
}
$(document).ready(
function()
{
try
{
init();
}
catch(err)
{
reportError("init: Catch exception:\n" + err);
}
}
);
});
";
$(sHtml).insertAfter($img).children("select")
.change(function(){ $img.css( "max-width", parseInt($(this).val()) ) });
}
} // _switchBBCodeImg() end
function _getBBCodeTip($element)
{
var sUrlProto = "\n\n(网址必须以 http:// 或 https:// 开头)";
var arrConfig =
[
[ "a", "simple",
"超链接语法:\n评论中插入的网址会自动识别成可点击的超链\n"
+ "为避免误判,网址【两端】最好是空格或回车,【不能是】半角符号" + sUrlProto ],
[ "a", "text", "超链接语法:\n[url=网址]标题文字[/url]" + sUrlProto ],
[ null, "image",
"评论中的网址,如果对应的是图片,会被智能识别并把图片嵌入到评论中。\n\n"
+ "(为保护读者隐私,嵌入的图片用【Google图片代理】加载。\n"
+ "因此,存放图片的服务器【不会】看到你的“访问者IP”及“浏览器信息”)" ],
[ "b", null, "粗体语法:\n[b]带粗体的文字[/b]" ],
[ "i", null, "斜体语法:\n[i]带斜体的文字[/i]" ],
[ "center", null, "居中语法:\n[center]居中的文字[/center]" ],
[ null, "quote", "引用语法:\n[quote]被引用的文字[/quote]" ],
[ "del", null, "删除线语法:\n[del]带删除线的文字[/del]" ],
[ "a", "goto", "XX单元\nX楼XX单元\n会自动识别成可点击的超链,点击后跳到相应评论" ]
];
var sTipContent = "【BBCode 语法提示】\n";
$.each(
arrConfig,
function(i, arrFields)
{
if(arrFields[0] && arrFields[0] != $element.prop("tagName").toLowerCase()) { return true }
if(arrFields[1] && !$element.hasClass(arrFields[1])) { return true }
return (sTipContent += arrFields[2]) && false;
});
return sTipContent;
} // _getBBCodeTip() end
} // initEvent() end
function init($comments)
{
{
var $editor_src = $("a#comment-editor-src");
$editor_src.length && (m_sEditorUrl = $editor_src.attr("href"));
assert(m_sEditorUrl, "init: Invalid 'm_sEditorUrl'!");
(m_sEditorUrl.indexOf("#") == -1) && (m_sEditorUrl += "#");
m_sPostId = (new Url(m_sEditorUrl)).getParam("postID");
assert(m_sPostId, "init: NOT found 'postID' in 'm_sEditorUrl' attr!");
}
initEvent($comments);
var nInitTotal = 0;
if($comments.hasAttr("init_num"))
{
nInitTotal = parseInt($comments.attr("init_num"));
assert(!isNaN(nInitTotal) && nInitTotal > 0, "init: Invalid 'init_num' attr!");
}
else
{
$comments.attr("init_num", "0");
}
$("#side-toolbar a.comment-number").html(nInitTotal >= 1000 ? (Math.floor(nInitTotal / 1000) + "K+") : nInitTotal);
if(nInitTotal > 0)
{
$comments.find("#comment-holder").html("");
$comments.children("#comments-loading").html("
");
$("#blog-pager").hide();
loadAllComments();
}
else
{
var sHtml = "
"
+ ""
+ ""
+ ""
+ ""; // comments-content
$comments.html(sHtml).find("#comment-holder").show();
complete();
}
// 'comment-actions' to add top comment
{
var sSpamTool = "
";
var sHtml = ""
+ (isBlogAdmin() ? sSpamTool : "");
$comments.find("#comment-holder").after($(sHtml));
}
$("#ie-ver-lt-10").length // IE version 初始化评论界面出错!", 0);
reportError("init: Catch exception:\n" + err);
}
}
);
});