我对此一无所知,希望你能帮助我。
我有一个使用我自己的自定义主题运行 Wordpress(最新版本,一切都是最新的)的网站。
我正在尝试向其中添加 Disqus 评论。我已经为 WP 安装了 Disqus 插件并完成了所有设置。但是,每当有人登录 Disqus 时,我都会遇到错误。当 iframe 加载时,控制台上会抛出 JS 错误(来自 Chromes 控制台)
Uncaught TypeError: Cannot call method 'insertBefore' of null client.js:106
(anonymous function) client.js:106
Backbone.View.extend.updateDom client.js:144
Backbone.View.extend.updateDom client.js:168
u.alert client.js:106
n.extend._alertMustVerify client.js:191
n.extend.render client.js:190
n.extend.redraw client.js:187
B lib.ender.js:128
f.Events.trigger lib.ender.js:126
a.extend.set lib.ender.js:131
d._request.DISQUS.api.call.success client.js:86
(anonymous function) lib.ender.js:49
(anonymous function) lib.ender.js:50
(anonymous function) lib.ender.js:45
从这个和 FireFox 控制台中的等效错误,我将问题缩小到 Disqus 的 Client.js 中的第 106 行,其中变量parentNode
等于 null。
this.updateDom(function(){
this.el.parentNode.insertBefore(b.render().el,this.el)
},this);
仅当有人登录 Disqus 发表评论时才会出现此问题。如果用户以访客身份发表评论,则没有错误。
由于抛出了这个错误,整个 Disqus iframe 无法工作并且变得无响应。
这是我网站的链接,因此您可以自己查看错误链接:l2program.co.uk
为任何回应的人提前欢呼。这让我整天发疯!:(
编辑:我应该澄清我的意思是当用户以任何方式登录讨论时。不仅是 Disqus 登录,还可以通过 Google/Facebook/ect 登录。问题一直存在。