Published on

给Twikoo添加链接跳转中间页

Authors
  • avatar
    Name
    老麦

因为网站底部挂了链接,为了避免不必要的麻烦发生,换程序时考虑过将评论关了,然而最终结果还是决定先为评论系统加一个按钮,同时将评论设置为人工审核,心想这样子就不会再有什么问题了。

但是最近逛友圈时还是看到一位博友分享他因为其他博友评论留言时产生的链接导致被请喝茶了。细心想想这的确是个问题,毕竟博客圈人来人往的,一些停掉的博客使用的域名很有可能做了其他项目。

于是乎就一直想着应该如何解决这个不稳定因素,就是想归想,却一直只顾着煲剧,看完《哦,我的鬼神大人》后就开始找办法,习惯性点开 Twikoo 仓库看 Issues,幸运的在一个已经关闭的 Issues 找到了临时过渡的解决办法。

方法很简单,我的修改方法如下:

twikoo.init({
  ......,
  onCommentLoaded: function () {
    console.log('评论加载完成');
    document.querySelectorAll('#twikoo a').forEach(function(aEl){
      if(!aEl.href.startsWith(window.location.origin)){
        aEl.href='https://link.iamlm.com/?url='+encodeURI(aEl.href);
      }
    });
  }
});

我添加 #twikoo 是因为我只想将评论区的 a 标签进行转换。

抄知乎的跳转页样式,只修改当中的 Javascript。

<script>
  const urlParams = new URLSearchParams(window.location.search)
  const redirectUrl = urlParams.get('url')

  if (redirectUrl) {
    const linkElement = document.querySelector('.link')
    linkElement.textContent = redirectUrl

    const continueLinkElement = document.querySelector('.button')
    continueLinkElement.href = redirectUrl
  }
</script>

详情可参考相关页面源码:view-source:https://link.iamlm.com/

注:这很有可能只会是一个过渡性的解决方法,说不定 Twikoo 的下个更新就会添加此功能了。