首先在mt-site.js的模版中加入以下js:
// form support
//
var canFormat = 0;
if (document.selection ||
(typeof(document.createElement("textarea")["setSelectionRange"]) != "undefined"))
canFormat = 1;
function getSelected (e) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
return range.text;
} else {
var length = e.textLength;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2 && length != undefined) end = length;
return e.value.substring(start, end);
}
}
function setSelection (e, v) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
range.text = v;
} else {
var length = e.textLength;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2 && length != undefined) end = length;
e.value = e.value.substring(0, start) + v + e.value.substr(end, length);
e.selectionStart = start + v.length;
e.selectionEnd = start + v.length;
}
e.focus();
}
function formatStr (e, v) {
if (!canFormat) return;
var str = getSelected(e);
if (str) setSelection(e, '<' + v + '>' + str + '</' + v + '>');
return false;
}
function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelected(e);
var link = '';
if (!isMail) {
if (str.match(/^https?:/)) {
link = str;
} else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
link = 'http://' + str;
} else if (str.match(/ /)) {
link = 'http://';
} else {
link = 'http://' + str;
}
} else {
if (str.match(/@/)) {
link = str;
}
}
var my_link = prompt(isMail ? '输入 Email 地址:' : '输入 URL: ', link);
if (my_link != null) {
if (str == '') str = my_link;
if (isMail) my_link = 'mailto:' + my_link;
setSelection(e, '<a href="' + my_link + '">' + str + '</a>');
}
return false;
}
function Decode(e) {
if (!canFormat) return;
var str = getSelected(e);
if (!str) return;
str = str.replace(new RegExp("&","g"), "&");
str = str.replace(new RegExp("<","g"), "<");
str = str.replace(new RegExp(">","g"), ">");
str = str.replace(new RegExp('"',"g"), """);
/* str = str.replace(new RegExp(' ',"g"), " "); */
setSelection(e, str);
return false;
}
//END for form
然后在单页模版中家加上下列编辑框显示的JS代码,如:
<script type="text/javascript">
if (canFormat) {
with (document) {
write('<img title="粗体" onclick="return formatStr(document.comments_form.text, \'strong\')" src="http://mtblog.org/images/formatting-icons/bold.gif" alt="粗体" width="26" height="19" />');
write('<img title="斜体" onclick="return formatStr(document.comments_form.text, \'em\')" src="http://mtblog.org/images/formatting-icons/italic.gif" alt="斜体" width="26" height="19" />');
write('<img title="下划线" onclick="return formatStr(document.comments_form.text, \'u\')" src="http://mtblog.org/images/formatting-icons/underline.gif" alt="下划线" width="26" height="19" />');
write('<img title="插入链接" onclick="return insertLink(document.comments_form.text)" src="http://mtblog.org/images/formatting-icons/link.gif" alt="插入链接" width="26" height="19" />');
write('<img title="引用" onclick="return formatStr(document.comments_form.text, \'blockquote\')" src="http://mtblog.org/images/formatting-icons/quote.gif" alt="引用" width="26" height="19" />');
write('<img title="HTML编码" onclick="return Decode(document.comments_form.text)" src="http://mtblog.org/images/formatting-icons/decode.gif" alt="Decode" width="26" height="19" />');
}
}
</script>
重建页面后即可,具体效果可查看本站评论框。顺便在这推荐大家使用BbEdit 文章编辑插件。











