Не удается загрузить комментарии 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 сайта.
Рекомендуемое решение, как представляется, состоит в том, чтобы зарегистрировать несколько коротких имен, или сайтов. Это сработало для меня. Например, balloons
а также balloons-dev
,
Обязательно измените Javascript, который они вам дают, чтобы заменить короткое имя в строке, которая находится ниже комментария о "не изменять", если вы хотите динамически установить, какой сайт вы используете, в зависимости от вашей среды (например, "balloons" if not settings.DEBUG else "balloons-dev"
).
Для всех, кто сталкивался с этой проблемой в 2020 году - я обнаружил, что установка короткого имени для названия моей организации в Disquss сработала. И URL-адрес может быть любым.
disqus_developer = 1
ничего не делает.
Сейчас это может быть старым, но я исправил это, оставив пустой URL-адрес как в моем скрипте, так и в настройках Disqus.
Насколько я знаю, Disqus не работает на localhost. Он всегда работал только на производственной площадке для меня. Я считаю, что это проверяет имя хоста против зарегистрированного имени хоста.