为了账号安全,请及时绑定邮箱和手机立即绑定

会导致现在点回复就要刷新一下网页0_0,这太不科学了!

会导致现在点回复就要刷新一下网页0_0,这太不科学了!

PHP
MYYA 2023-04-25 23:19:18
使用的Typecho是SVN上下载的,默认的主题也木有加载,这个不是Typecho自动加载的么,不知道什么情况了。
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

最后是自己将TypechoComment()函数的function提取出来稍作修改最后外部载入解决。下面是我的TypechoComment()函数的function,比较关键的是15行获取response的那部分,需要稍作修改就是。

//<![CDATA[var TypechoComment = {
    dom : function (id) {        return document.getElementById(id);
    },
    
    create : function (tag, attr) {        var el = document.createElement(tag);        
        for (var key in attr) {
            el.setAttribute(key, attr[key]);
        }        
        return el;
    },

    reply : function (cid, coid) {        var comment = this.dom(cid), parent = comment.parentNode,
            response = this.dom(document.getElementById(cid).getElementsByClassName('reply')[0].getElementsByTagName('a')[0].href.split('#')[1]), input = this.dom('comment-parent'),
            form = 'form' == response.tagName ? response : response.getElementsByTagName('form')[0],
            textarea = response.getElementsByTagName('textarea')[0];        if (null == input) {
            input = this.create('input', {                'type' : 'hidden',                'name' : 'parent',                'id'   : 'comment-parent'
            });

            form.appendChild(input);
        }
        
        input.setAttribute('value', coid);        if (null == this.dom('comment-form-place-holder')) {            var holder = this.create('div', {                'id' : 'comment-form-place-holder'
            });
            
            response.parentNode.insertBefore(holder, response);
        }

        comment.appendChild(response);        this.dom('cancel-comment-reply-link').style.display = '';        
        if (null != textarea && 'text' == textarea.name) {
            textarea.focus();
        }        
        return false;
    },

    cancelReply : function () {        var response = this.dom('respond-post-183'),
        holder = this.dom('comment-form-place-holder'), input = this.dom('comment-parent');        if (null != input) {
            input.parentNode.removeChild(input);
        }        if (null == holder) {            return true;
        }        this.dom('cancel-comment-reply-link').style.display = 'none';
        holder.parentNode.insertBefore(response, holder);        return false;
    }
}//]]>


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信