Не удается загрузить комментарии Disqus на localhost?

Я хотел бы использовать универсальный код и столкнулся с трудностями при выполнении основных функций.

Я хотел бы создать краткое имя для теста и одно для моего развертывания, которое я сделал из панели администратора Disqus.

Вот код 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

Я могу подтвердить, что загрузочный счетчик работает, но это все. Я что-то упускаю из виду? Когда я пытаюсь включить only_path: false в качестве второй опции в моем вызове url_for я получаю исключение, в котором указано, что я передал множество аргументов методу. В противном случае мой дискус просто висит.

5 ответов

Решение

Вы должны установить это, чтобы это работало:

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/

Ни одно из вышеперечисленных решений не работало для меня по состоянию на сентябрь 2013 года.

Чтобы заставить его работать, мне пришлось добавить localhost в список "Надежные домены" на этой странице:

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

а также используйте "Универсальный код", указанный ниже, чтобы вставить его в мои сообщения в блоге:

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

И это работает!:)

Попробуйте установить disqus_url чтобы соответствовать вашему зарегистрированному URL сайта.

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

Рекомендуемое решение, как представляется, состоит в том, чтобы зарегистрировать несколько коротких имен, или сайтов. Это сработало для меня. Например, 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

Для всех, кто сталкивался с этой проблемой в 2020 году - я обнаружил, что установка короткого имени для названия моей организации в Disquss сработала. И URL-адрес может быть любым.

disqus_developer = 1 ничего не делает.

Сейчас это может быть старым, но я исправил это, оставив пустой URL-адрес как в моем скрипте, так и в настройках Disqus.

Насколько я знаю, Disqus не работает на localhost. Он всегда работал только на производственной площадке для меня. Я считаю, что это проверяет имя хоста против зарегистрированного имени хоста.

Другие вопросы по тегам