Disqus Plugin Объяснение динамических тегов - PullRequest
0 голосов
/ 23 июня 2011

Итак, я использую Disqus Plugin v2.65.Я пытаюсь отредактировать dsq-global-toolbar в верхней части комментариев Disqus.

Следующие теги находятся в disqus-comment-system/comments.php

<div id="disqus_thread">

 <?php if (!get_option('disqus_disable_ssr')): ?>
  <?php
   // if (is_file(TEMPLATEPATH . '/comments.php')) {
   // include(TEMPLATEPATH . '/comments.php');
   // }
  ?>
  <div id="dsq-content">
   <ul id="dsq-comments">

, однако на моем сайте есть несколько тегов (disqus-global-toolbar div), который, кажется, динамически добавляется между dsq-content div и dsq-comments ul.Откуда это происходит и где я могу отредактировать это?Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Не знаю, о каком плагине вы говорите, но если это WordPress, я сделал то же самое. Измените wp-content / plug-ins / disqus-comment-system / comments.php, добавив обработчик событий для afterRender (срабатывает, когда контент готов в DOM, но все еще скрыт), например. вокруг линии 70:

config.callbacks.afterRender.push(myFunctionToModifyDisqusOutput);
0 голосов
/ 30 июня 2011

Я думаю, что это происходит где-то около строки 3140 в disqus.js

Вы можете использовать этот код для ожидания полной загрузки документа и внесения изменений (на стороне клиента):

$(document).ready(function() {
   window.disqus_no_style = true;

   $.getScript('http://sitename.disqus.com/embed.js', function() {
     var loader = setInterval(function() {
       if($('#disqus_thread').html().length) {
         clearInterval(loader);
         disqusReady();
       }
     }, 1000);
});

 function disqusReady() {
 //whatever you can imagine
 }
});

window.diqus_no_style можно удалить, а также оболочку $ .getsript.

Это то, что вы ищете?


Примерно так (используйте livequery вместо live):

 function disqusReady() {
  $('#dsq-global-toolbar').livequery(function() {
    //$(this) will refer to object   
  });
 }
...