我已经尝试在我的页面中使用ajax加载Disqus,我会解释的。我在它里面有一个页面,我有jqrusel,有不同的图像,每个都有自己的评论。
因此,当我单击其中一个图像时,我已经完成了以下代码:
$.get("/sets/comentarios",{set_id:set_id},function(data){
$("#componet_comentarios").html(data); 这个url加载:
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加载评论时,永远不会刷新它。
有什么想法吗?我被它迷住了。
感谢所有人!!
发布于 2012-03-26 16:26:17
我也遇到过类似的问题,我把我的网站移到了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();并加载面板。在您的示例中,您还应该将标识符作为参数传递,并在调用时定义它,一切都应该正常工作。
https://stackoverflow.com/questions/8553190
复制相似问题