未捕获的TypeError:无法设置null的WordPress错误的属性'isNotDirty'

时间:2014-07-25 19:36:33

标签: javascript jquery wordpress

我的WordPress安装存在问题。我希望有些熟悉WordPress的人可以帮助我。

我正在尝试使用Visual Composer插件添加自定义CSS但是当我在输入CSS后单击“保存”时它没有做任何事情。

如果我删除所有内容并保持原样,那么它允许保存按钮工作。我在下面的控制台中包含了错误。

稍微研究一下后,我发现isNotDirty属性是tinyMCE的一部分。它检测存储在数据库中的CSS是否在窗口中发生了变化。

要进行故障排除我已卸载所有插件并重新安装它们。我已经恢复了以前已知的工作数据库但仍然收到错误。关于下一步要去哪里的想法?我本以为重新安装视觉作曲家会纠正这个问题,但显然不是。

Here is some info

Here is another link with more info

Uncaught TypeError: Cannot set property 'isNotDirty' of null composer-view.js?ver=4.2.2:293
vc.post_custom_css_block_view.Backbone.View.extend.setAlertOnDataChange composer-view.js?ver=4.2.2:293
vc.post_custom_css_block_view.Backbone.View.extend.save composer-view.js?ver=4.2.2:277
n.event.dispatch load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,plupload,json2,farbtastic&ver=3.9.1:3
r.handle load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils,plupload,json2,farbtastic&ver=3.9.1:3

更新: 我已经在另一个虚拟主机上安装了主题的新副本,它似乎在那里正常工作。我注意到工作版本有一行额外的HTML,如下所示。非工作版本没有这个。

<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all" id="ui-id-1" tabindex="0" style="display: none;"></ul>

我更改了非工作版本的主题,但仍然无效。

更新: 发生了一件非常奇怪的事。我总是使用后端编辑器,所以我决定尝试使用前端编辑器来查看是否可以添加自定义CSS。果然它允许你这样做,我能够保存自定义CSS。所以我回到后端编辑器模式,现在突然后端的自定义CSS工作正常。

1 个答案:

答案 0 :(得分:1)

我在我的一个Wordpress项目中遇到过这个问题。我设法通过以下步骤来修复它:

  • FTP到&#39; / wp-content / plugins / js_composer / assets / js / backend&#39;
  • 编辑&#39; composer-view.js&#39;
  • 找到以下代码行并将其删除:

    1. (第277行,对我而言可能有所不同)
   this.setAlertOnDataChange();
  1. (292-295对我而言;可能会有所不同)
  2.  setAlertOnDataChange: function() {
        if(vc.saved_custom_css !== this.$editor.val() && window.tinymce) {
          window.tinymce.get('content').isNotDirty = false;
        }
      }
    
    • 将您的更改保存到&#39; composer-view.js&#39;但请保持文件处于打开状态,因为您需要暂时撤消这些更改...
    • 返回WordPress并刷新,确保&#39; composer-view.js&#39;特别是刷新并且没有在您的浏览器中缓存,现在尝试点击之前死亡的&#39; Save&#39;视觉作曲家自定义CSS编辑器中的按钮
    • 它现在应该工作所以做一些改变(当我这样做时,我做的唯一改变就是删除我在第一个地方没有反应之前添加的最后一行CSS但是也许任何改变都会被接受我不会# 39;知道吗?...)
    • 现在,如果一切正常,请回到&#39; composer-view.js&#39;并撤消您所做的更改(即将上面的代码行放回去)。
    • 现在一切都应该像以前一样工作 - 或者至少它对我有用。