给Memos添加Twikoo评论

自定义脚本

插入以下代码,修改https://t.memos.ee为自己的twikoo地址即可

var twikooENV = 'https://t.memos.ee'
function addTwikooJS() { 
  var memosTwikoo = document.createElement("script");
  memosTwikoo.src = `https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js`;
  var tws = document.getElementsByTagName("script")[0];
  tws.parentNode.insertBefore(memosTwikoo, tws);
};
function startTwikoo() {
  startTW = setInterval(function(){
    var nowHref = window.location.href;
    var twikooDom = document.querySelector('#twikoo') || '';
    if( nowHref.replace(/^.*\/(m)\/.*$/,'$1') == "m"){
      if(!twikooDom){
        addTwikooJS()
        setTimeout(function() {
          var memoTw = document.querySelector('.gap-2') || '';
          memoTw.insertAdjacentHTML('afterend', '<div id="mtcomment"></div>');
          twikoo.init({
            envId: twikooENV,
            el: '#mtcomment',
            path: nowHref.replace(/^.*=?(http.*\/m\/[0-9]+).*$/,'$1'),
            onCommentLoaded: function () {
              startTwikoo();
            }
          })
        }, 1500)
      }else{
        clearInterval(startTW)
      }
    }
  }, 2000)
}
startTwikoo();

11 Comments

  1. 这个最新版本的memos里自定义脚本添加了twikoo,可以显示,评论失败为啥呀,大佬

  2. husai

    加载会比较慢一些,memos已经展示了,但是twikoo得等一会儿才会展示,是什么原因呢?memos和twikoo都是架在我的服务器上的

    • 浪子

      因为逻辑就是先加载memos 然后 再插入 加载 评论 你可以尝试把twikoo的js下载放在自己的服务器 而不是使用第三方公共的CDN地址

      • husai

        好的,还请问下,放到自己的服务器,memos我是docker安装,那么我应该怎么引用或引进js文件呢

        • 浪子

          你把这个`https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js`下载到你的网站目录中,最好是与twikoo对应的版本
          然后把`https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js`改为你网站中访问的js地址

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注