Disqus не работает с ajax - PullRequest
       4

Disqus не работает с ajax

1 голос
/ 17 марта 2012

Я пытался использовать систему комментариев Diqus на своем сайте, используя ajax для загрузки статьи и комментариев, но не смог заставить ее работать.

Я использую jQuery и загружаю всю статью (включая комментарии) с действием ".load".

Я использую код, который они предоставляют на своем сайте для следующих случаев: http://docs.disqus.com/help/85/

DISQUS.reset({
  reload: true,
  config: function () {  
    this.page.identifier = "newidentifier";  
    this.page.url = "http://example.com/#!newthread";
  }
});

Я действительно не знаю, что я делаю плохо. Вот мой код:

$(".cargaAqui").load("http://"+ document.domain + "/myArticle"+id, function() {
DISQUS.reset({
reload: true,
config: function () {  
    this.page.identifier = "myArticle" + id;  
    this.page.url = 'http://' + document.domain +'/view-'+ id+'#!newthread';
}
 });    

Есть идеи, что случилось? Спасибо

Ответы [ 2 ]

2 голосов
/ 03 июля 2012

Я создал базовый шаблон с работающими комментариями DISQUS 2012, загружаемыми с помощью ajax через jquery-pjax.

DISQUS 2012 еще не работает с DISQUS.reset, но они работают над этим.

Если вам нужен DISQUS.reset для перезагрузки комментариев после загрузки контента ajax, вам нужно отключить функции 2012 в администраторе DISQUS.

[ОБНОВЛЕНИЕ:] DISQUS.reset с тех пор был реализован в DISQUS 2012, поэтому обходной путь выше не является действительно необходимым. Однако push-состояние в сочетании с DISQUS.reset действительно хорошо работают вместе.

0 голосов
/ 28 января 2013

Я согласен с Адамом. Теги скриптов Disqus накапливаются. Я сделал это:

var head = document.getElementsByTagName('head')[0];
head.removeChild(head.lastElementChild);

Поместите его перед функцией DISQUS.

Это прекрасно работает для меня, потому что тег сценария Disqus находится в конце заголовка. Я снова запускаю firebug в Chrome, и теги скриптов Disqus больше не накапливаются.

...