web-dev-qa-db-ja.com

Disqusコメントをローカルホストに読み込めませんか?

ユニバーサルコードを使用したいのですが、最も基本的な機能を実行するのに問題が発生しました。

testの短縮名とdeploymentの短縮名を作成したいと思います。これは、Disqus管理パネルから作成しました。

これが私のshowアクションのdisqusコードです:

# inside show.html.erb
<%= render raw 'comments' %>

# partial "comments"

  <div id="disqus_thread"></div>
    <script type="text/javascript">
      var disqus_shortname = '<%= Post::DISQUS_SHORTNAME %>';
      var disqus_identifier = '<%= @post.id %>';
      var disqus_url = '<%= url_for([:blog, @topic, @post])%>';
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>

私のモデルでは、Postを定義し、次のように短い名前を定義します。

  DISQUS_SHORTNAME = if Rails.env.development? 
                        "dev-shortname".freeze
                     else
                        "shortname".freeze
                     end

ローディングスピナーが機能していることを確認できますが、それだけです。明らかな何かが欠けていますか? url_for呼び出しの2番目のオプションとしてonly_path: falseを含めようとすると、メソッドの多くの引数に指定したことを示す例外が発生します。そうしないと、私のDisqusがハングします。

28
rhodee

これを機能させるには、次のように設定する必要があります。

var disqus_developer = 1; // this would set it to developer mode

参照: http://ray247.wordpress.com/2009/09/02/how-to-develop-with-disqus-on-localhost/

15
You knows who

2013年9月の時点で、上記のソリューションはどれも機能しませんでした。

それを機能させるには、このページの「信頼できるドメイン」リストにlocalhostを追加する必要がありました。

http:// [disqus_shortname]。disqus.com/admin/settings/advanced/

また、以下にある「ユニバーサルコード」を使用して、ブログの投稿に埋め込みます。

http:// [disqus_shortname]。disqus.com/admin/settings/universalcode/

そしてそれはうまくいきます! :)

13
Rafael Lüder

登録したサイトのURLと一致するようにdisqus_urlを設定してみてください。

http://kenhirakawa.com/load-disqus-on-localhost/

10
Ken Hirakawa

推奨される解決策は、複数のショートネーム(別名サイト)を登録することです。これは私のために働いた。例:balloonsおよびballoons-dev

環境に基づいて使用しているサイトを動的に設定する場合は、「変更しない」に関するコメントの下にある行の短縮名を置き換えるために、Javascriptを必ず変更してください(例:"balloons" if not settings.DEBUG else "balloons-dev")。

https://help.disqus.com/customer/portal/articles/1053796-best-practices-for-staging-development-and-preview-sites

1
John Lehmann

これは今では古いかもしれませんが、スクリプトとDisqus設定の両方でURLを空のままにして修正しました

0
olayemii

この問題に直面した2020年の誰にとっても、Disqussで組織名にショートネームを設定することでうまくいくことがわかりました。また、URLは何にでも設定できます。

disqus_developer = 1は何もしません。

0