我试图在我的页面中加载带有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加载评论时,永远不要刷新它。
有什么想法吗?我疯了。
感谢任何人!!
答案 0 :(得分:8)
我有类似的问题,我将我的网站移动到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作为参数传递,并在调用时定义它,一切都应该正常工作。