无法执行 'postMessage' on 'DOMWindow'

解决方案已找到 - 感谢 @simon@Lilly 提供的出色支持体验。

根据 Simon 的建议进行的修改:

修改了教程中的代码,不包含已弃用的术语并添加了 if 语句:

<div id='discourse-comments'></div>
<meta name="discourse-username" content="ForumAdminName">

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

  (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>

另外,添加了 https://www.test.comhttps://test.com
到 Discourse 管理员 > 设置选项卡中找到的 Discourse 站点的内容安全策略 src 设置。

注意 - 根据我的经验,在小型服务器上过快地刷新页面,可能需要大约 30 秒才能看到结果,因此请给每次 ghost 重启和 Discourse 管理面板编辑一些时间来生效。

补充说明 - 首次查看任何文章的评论部分时,会有很长的延迟,@simon 建议您自己先查看文章,以便 Discourse 有时间生成与论坛帖子相关的评论部分。

再次感谢大家,非常有帮助。在我观看的教程中,许多 YouTube 评论者遇到了和我一样的问题,这些问题都引用了 discourse/ghost 集成说明。YouTube 链接可能已弃用,因此这次帮助非常棒。

4 个赞