user-pic

在评论框中添加html代码编辑器

Vote 0 Votes

首先在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"), "&amp;");
        str = str.replace(new RegExp("<","g"), "&lt;");
        str = str.replace(new RegExp(">","g"), "&gt;");

        str = str.replace(new RegExp('"',"g"), "&quot;");
  /*    str = str.replace(new RegExp(' ',"g"), "&nbsp;"); */
        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 文章编辑插件

Add a Reply

Forum Groups

Blogcs 基于MT平台的BSP

3 1

Last Topic: 本站的注册验证Email问题 by admin on 2008年11月20日

MovableType 中文化

1 0

Last Topic: Movable Type 中文化 - 平生一笑 by bb on 2008年10月11日

1 0

Last Topic: Zhu8's Weblog:猪八的网:浮生志 by Zhu8 on 2008年10月16日

MovableType 使用

16 13

Last Topic: Image::Magick 模块的安装 by bb on 2008年11月 9日

30 35

Last Topic: MT-Twitter:将MT文章同步到Twitter by bb on 2008年3月 9日

22 1

Last Topic: 修改MT的作者归档路径 by bb on 2008年10月25日

MovableType 模板

Be the first to post a topic in this forum

22 17

Last Topic: MovableType评论格式化 replies-to-replies by bb on 2008年10月15日

MovableType 延伸

14 17

Last Topic: 从Wordpress转移到Movabletype by bb on 2007年5月12日

3 4

Last Topic: dreamhost完美支持MT by kesor on 2008年11月24日

2 2

Last Topic: 最新版MovableType 4.22 已经发布 by bb on 2008年11月19日