Disqus Загрузка одинаковых комментариев для динамических страниц - PullRequest
7 голосов
/ 20 января 2012

У меня есть динамическая страница, которая загружает разные идеи. Я использую disqus для комментариев, но disqus продолжает загружать одинаковые комментарии для каждой идеи.

Вот сайт. http://tech -in.org / submitted_ideas / index.php .

Вот мой код

<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
     if( typeof DISQUS != 'undefined' ) { 
      DISQUS.reset({ 
        reload: true, 
         config: function () { 
           this.page.identifier = '<?php echo $title; ?>'; 
           this.page.url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>'; 
         } 
       }); 
    } 
    var disqus_shortname = 'techinorg'; // required: replace example with your forum shortname
    var disqus_identifier = '<?php echo $title; ?>';
    var disqus_url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>';
    var disqus_title = document.getElementById('disqus_post_title').innerHTML;
    var disqus_message = document.getElementById('disqus_post_message').innerHTML;


    /* * * DON'T EDIT BELOW THIS LINE * * */
    (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>

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

Ответы [ 4 ]

5 голосов
/ 20 января 2012

Похоже, ваш идентификатор недостаточно уникален, см. Справочную документацию здесь: http://docs.disqus.com/help/14/

В нем говорится:

При посещении страниц с поддержкой Disqus Disqus использует этот идентификаторопределить соответствующую ветку комментариев для загрузки.Если соответствующий поток не может быть найден, создается новый поток.Идентификаторы Disqus сохраняют связи между потоками и страницами.

5 голосов
/ 20 января 2012

Disqus решает, какие комментарии загружать, основываясь на указанном вами disqus_identifier. Когда загружается другая «идея», убедитесь, что вы предоставили уникальный disqus_identifier, соответствующий этой идее. (Непонятно, что $title представляет в вашем PHP-скрипте, что в настоящее время присваивается disqus_identifier.)

1 голос
/ 06 марта 2016

Я столкнулся с той же проблемой на странице, которая использует AJAX для загрузки нового контента с новым потоком disqus.Решением для меня было установить и идентификатор, и URL-адрес, равные одному и тому же.

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

, где myPageID - целое число, которое я динамически обновляю, используя AJAX

0 голосов
/ 08 февраля 2018

Я, наконец, получил эту работу следующим образом.

В Disqus doco для сайтов Ajax [1] говорится, что requirements устанавливает обе переменные this.page.identifier и this.page.URL, используя full hashbang #!

var disqus_config = function () {
    this.page.identifier = window.location.origin + '/#!' + identifier 
    this.page.url = window.location.origin + '/#!' + identifier
}

Забавно, но пример recipe [2], связанный в вышеупомянутом документе, не делает этого.

Ссылки:

[1] https://help.disqus.com/customer/portal/articles/472107-using-disqus-on-ajax-sites

[2] https://github.com/disqus/DISQUS-API-Recipes/blob/master/snippets/js/disqus-reset/disqus_reset.html

...