我最近在 TinyMCE 上升级到新版本(4.6.1,不再是最新版本)。我网站的几个区域受到影响,过去常常触发“您想离开此网站吗?”当 TinyMCE 框已被编辑但其所在的表单未提交时发出警告。现在不会触发任何警告。

我已经尝试了很多解决方案(自动保存插件、autosave_ask_before_unload init 属性、抛出更改事件),但是我最接近修复此问题的方法会触发警告,无论 TinyMCE 区域是否已被编辑。有很多关于如何为 3.x 添加或删除此功能的信息,但对于 4.x 则较少。

如果您尝试离开页面而不提交表单并且在任何其他情况下没有触发警告,我需要更改 TinyMCE 字段以触发警告。

最佳答案

建议您使用 IsDirty TinyMCE function

这是一个函数,无论编辑器是否脏,都将返回真/假值。如果用户对内容进行了修改,则编辑器被认为是“脏的”。

代码:

if (tinyMCE.activeEditor.isDirty())
    alert("You must save your contents.");

这里有一个 SO answer 建议使用 onchange ,但是有一个 open bug with onchange (it doesn't always fire)

TinyMCE docs for the onchange callback 优先“强烈推荐”IsDirty,并解释原因:

关于javascript - 如何在 TinyMCE 编辑时触发页面离开警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44890585/

10-16 20:10