首页 > 解决方案 > 禁用“离开站点?” 使用 ContentTools 时的问题

问题描述

我正在使用ContentTools免费的所见即所得编辑器。

我修改了代码,使表单不保存异步,而是与表单内联并提交页面,就像普通的 HTML 表单一样。

为此,我修改了保存功能(在教程页面上给出):

// Collect the contents of each region into a FormData instance
payload = new FormData();
for (name in regions) {
    if (regions.hasOwnProperty(name)) {
        payload.append(name, regions[name]);
    }
}

对此:

var $form = document.getElementById("form-contenttools")
if($form.length) {
    window.onbeforeunload = null;
    var hiddeninput = document.createElement("INPUT")
    hiddeninput.setAttribute("type","hidden")
    hiddeninput.setAttribute("name","document")
    hiddeninput.setAttribute("value",regions[0])

    var form_submit_flag = document.createElement("INPUT")
    form_submit_flag.setAttribute("type","hidden")
    form_submit_flag.setAttribute("name","contenttools_form_submit")
    form_submit_flag.setAttribute("value",true)

    $form.append(hiddeninput)
    $form.append(form_submit_flag)

    editor.busy(false);
    new ContentTools.FlashUI('ok');
    $form.submit();
}

但是,我仍然收到警告消息“离开网站?单击保存按钮后,您所做的任何更改都不会被保存。为了解决这个问题,我将线路放入window.onbeforeunload = null;javascript(在不同的地方),但这似乎没有生效。

有任何想法吗?

标签: javascriptcontent-tools

解决方案


推荐阅读