给Memos添加Twikoo评论

浪子
2024-05-09 / 11 评论 / 搜一下 / 245 阅读 / 正在检测是否收录...
AI摘要:本文介绍了如何给Memos添加Twikoo评论功能的自定义脚本。通过插入指定的代码,并将其中的`https://t.memos.ee`修改为自己的Twikoo地址,即可实现评论功能。代码中包括了添加Twikoo脚本和初始化Twikoo的函数,并通过定时器来判断当前页面是否为Memos页面,并在页面中插入评论框。最后,通过调用`startTwikoo()`函数来启动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)

取消
  1. 头像
    段先森
    Windows 10 · Google Chrome

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

    回复
    1. 头像
      浪子 作者
      Windows 10 · Google Chrome
      @ 段先森

      你的twikoo 是什么版本 更新一下 `https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js` 这个js的版本

      回复
      1. 头像
        段先森
        Windows 10 · Google Chrome
        @ 浪子

        噢噢,我的是最新版本的twikoo,原来如此啊

        回复
        1. 头像
          段先森
          Windows 10 · Google Chrome
          @ 段先森

          我的twikoo版本是1.6.39,在里面没找到相对应的版本,1.6.4也不行

          回复
          1. 头像
            浪子 作者
            Windows 10 · Google Chrome
            @ 段先森

            https://cdn.staticfile.org/twikoo/1.6.39/twikoo.all.min.js 这个不行?

            回复
            1. 头像
              段先森
              Windows 10 · Google Chrome
              @ 浪子

              我刚修改成1.6.39也是评论失败表情

              回复
          2. 头像
            浪子 作者
            Windows 10 · Google Chrome
            @ 段先森

            加我 🐧 80116747

            回复
  2. 头像
    husai
    Windows 10 · Google Chrome

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

    回复
    1. 头像
      浪子 作者
      Windows 10 · Google Chrome
      @ husai

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

      回复
      1. 头像
        husai
        Windows 10 · Google Chrome
        @ 浪子

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

        回复
        1. 头像
          浪子 作者
          Windows 10 · Google Chrome
          @ husai

          你把这个`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地址

          回复