Discourse 与 Ghost 集成,控制台错误

你好,
遵循此页面,我在 Ghost JS V3 博客中使用了以下代码来集成 Discourse 评论:

<div id='discourse-comments'></div>

<script type="text/javascript">
      if (window.location.pathname.indexOf('/p/') < 0) {
  DiscourseEmbed = { discourseUrl: 'https://forum.ghost.org/',
                     discourseEmbedUrl: '{{url absolute="true"}}';

  (function() {
    var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
  })();
    }
</script>

该代码在控制台中生成了以下错误:

embed.js:1 Uncaught TypeError: Cannot read property 'appendChild' of null
    at k (embed.js:1)
    at Object.l [as isSerif] (embed.js:1)
    at h.i.toJSON (embed.js:1)
    at Object.c.loadEmbed [as _loadEmbed] (embed.js:3)
    at embed.js:3

有什么修复建议吗?

我将代码放在了 partials 中……也许我应该把它放在 “post.hbs” 中。

1 个赞

要解决 Ghost 模板的问题,只需将代码放入 post.hbs,而不是 comments.hbs。