加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Disqus ajax死了……

发布时间:2020-12-16 02:53:35 所属栏目:百科 来源:网络整理
导读:我试着在我的页面中加载带有ajax的Disqus,我会解释.我有一个页面,我有jqrusel,有不同的图像,每个都有它的评论. 所以,当我点击其中一张图片时,我已经完成了这段代码: $.get("/sets/comentarios",{set_id:set_id},function(data){ $("#componet_comentarios")
我试着在我的页面中加载带有ajax的Disqus,我会解释.我有一个页面,我有jqrusel,有不同的图像,每个都有它的评论.

所以,当我点击其中一张图片时,我已经完成了这段代码:

$.get("/sets/comentarios",{set_id:set_id},function(data){
                $("#componet_comentarios").html(data);

这个网址加载:

var disqus_identifier = 'votar-<?= $id; ?>';
    var disqus_url = 'www.mitrendy.com/votar/<?= $id; ?>';

    // Remove the old script if it's found 
    oldDsq = document.getElementById('MitrendyComentDisqus');
    if(oldDsq) {
        (document.getElementsByTagName('head')[0] ||
        document.getElementsByTagName('body')[0]).removeChild(oldDsq);
    }


    (function() {
        var dsq = document.createElement('script');
        dsq.type = 'text/javascript';
        dsq.async = true;
        dsq.id = "MitrendyComentDisqus-<?= $id; ?>";
        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();

但永远不要刷新评论.后来我在disqus的官方页面中看到:

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

但它是一样的,当我试图用ajax加载评论时,永远不要刷新它.

任何的想法 ?我疯了.

感谢任何人!!

解决方法

我有类似的问题,我将我的网站移动到ajax和以前包含在php中的子页面,其中包含disqus js,现在使用ajax(disqus及其脚本的容器)加载但是当没有加载整页时,脚本是没有评估.所以我将它们移动到全局.js文件并包装在函数中,如下所示:

var disqus_shortname = 'myname';
var disqus_identifier = 'myident';

function loadDisqus()   {
    (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);
    })();
}

在ajax加载内容后,我调用loadDisqus();并且电路板加载.在您的示例中,您还应该将identifier作为参数传递并在调用时定义它,一切都应该正常工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读