Авто Refre sh facebook комментарии вызывает мерцание - PullRequest
0 голосов
/ 27 февраля 2020

В нашем веб-коде есть плагин комментариев на Facebook, и мы хотим обновить раздел комментариев в режиме реального времени.

Для этого мы используем процедуру FB.XFBML.parse () для анализа FB DOM. Однако, когда это происходит, мы видим огромное мерцание, когда DOM fb-comments удаляется и добавляется снова.

Есть ли способ автоматически обновить sh раздел комментариев без мерцания?

Вот наш код

<!doctype html>
<html lang="en">
<head>
</head>
<body>

<div id="social" style="width:550px;height:100px">


<script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/all.js#xfbml=1&version=v2.6"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'))
</script>

<div id = parent>
<div id ="mycomments" class="fb-comments" data-href="http://www.example.com/#/home" data-order-by=reverse_time>
</div>
</div>

<script>

function removeElement(elementId) {
try{
    // Removes an element from the document
    var element = document.getElementById(elementId);
    element.parentNode.removeChild(element);
  } catch (e){

  }
}

function addElement() {
    try{
      const div = document.createElement('div');
       div.innerHTML = `<div id ="mycomments" class="fb-comments" data-href="http://www.example.com/#/home" data-order-by=reverse_time/>`;

      document.getElementById('parent').appendChild(div);
    } catch (e){
        console.error(e);
    }
}
setInterval(function(){
    removeElement("mycomments");
    addElement();
    FB.XFBML.parse();
    console.log("added again");
}, 5000)
</script>
</div>
</body>
</html>

Любые указатели будут очень полезны. Благодаря.

...