微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Disqus ajax死了……

我试着在我的页面中加载带有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作为参数传递并在调用时定义它,一切都应该正常工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐