BB’s Blog:本博近期关注 中国移动、电影、电视、手机软件.
在评论框中添加html代码编辑器

首先在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 文章编辑插件

本文信息

» 跟踪本文: 手机WAP
» 发表日期:2007年05月08日 9:18 AM
» 分类: 部件 Parts
» 作者:bb
» 本文链接:http://bblog.biz/movabletype/_parts/html_edit.htmlEDIT
» 本文引用地址:本文不允许引用
» 本站留言支持:html标签、coCommentgravatar
» 书签:Add to 365KeyAdd to del.icio.us百度搜藏Add to Yahoo
» 现有评论:-、现有引用:-
» 评论审核:直接点击“我要回复”评论文章,需要管理员验证后才能显示,感谢你的回复.

评论(-)

本文不允许评论

引用(-)

本文不允许引用

我要回复

昵称:   记住我的用户信息:
邮件:   Subscribe to This Entry:
主页:
Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very Sad Evil or Very Mad Twisted Evil Rolling Eyes Wink
Short Cuts
Search my Blog
Subscribe This Entry
  • Enter your Email address:
Archives
Vote
评价本文:
Category Entries