【问题标题】:Disqus is not setting the correct URL for the thread. Why?Disqus 没有为线程设置正确的 URL。为什么?
【发布时间】:2014-06-23 15:14:56
【问题描述】:

这是我用来设置 javascript 变量的代码:

                                  <script type="text/javascript">
                                /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
                                var disqus_shortname = 'myactualshortname'; // required: replace example with your forum shortname
                                var disqus_identifier = '{{ post.get_absolute_url }}';
                                var disqus_title = '{{ post.title }}';
                                var disqus_url = '{{ BASE_URL }}{{ post.get_absolute_url }}';

                                /* * * DON'T EDIT BELOW THIS LINE * * */
                                (function() {
                                    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                                    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
                                    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
                                })();
                              </script>

现在,当我转到管理面板并检查 disqus 中的链接时,它给了我这个

http://127.0.0.1:8000/blog/post/2#comment-1449921931

以下是实际渲染的示例:

                                /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
                                var disqus_shortname = 'myactualshortname'; // required: replace example with your forum shortname
                                var disqus_identifier = '/blog/post/2/setting-up-your-environment/';
                                var disqus_title = 'Setting up your environment';
                                var disqus_url = 'http://127.0.0.1:8000/blog/post/2/setting-up-your-environment/';

                                /* * * DON'T EDIT BELOW THIS LINE * * */
                                (function() {
                                    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                                    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
                                    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
                                })();

我已将它放在页面底部的 disqus 线程 div 之后。在管理面板中,它为每个线程生成的链接始终是http://127.0.0.1:8000/blog/post/2,最后的数字是创建新帖子的唯一更改。如您所见,它没有使用 disqus_url 作为链接。它运行正常,但是每个帖子都有一个独特的线程等。

我是不是做错了什么,有人知道为什么会这样吗?我已经尝试了从删除网站、移动脚本等几乎所有的方法。

评论计数使用提供的 count.js 脚本可以正常工作但是我正在尝试使用 API 和 disqus_url 获取非 A 标签元素的计数,但是由于它正在寻找由模板生成的正确 URL,因此无法找到线程(由于某种原因使用了错误的线程)。

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: django disqus


    【解决方案1】:

    我不知道那里发生了什么,但可以肯定的是,一旦我将 disqus_identifier 更改为 {{ BASE_URL }}{{ post.get_absolute_url }},我将获得线程/评论的正确 URL,而不是获得以 @ 开头的链接987654323@.

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 2015-10-30
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      相关资源
      最近更新 更多