0

我对此一无所知,希望你能帮助我。

我有一个使用我自己的自定义主题运行 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 登录。问题一直存在。

4

0 回答 0