javascript - 禁用“离开站点?” 使用 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(在不同的地方),但这似乎没有生效。
有任何想法吗?
解决方案
推荐阅读
- html - 如何在其兄弟元素悬停时访问伪元素
- python - 反转包含超过 2 个元素的元组
- plotly-dash - 如何在 dash-leaflet 中制作交互式世界地图?
- sql - PLSQL 中的标识符无效
- python - 我希望使用 lambda 和 pandas 使用 pythonic 方式优化代码
- html - 如何为谷歌网络应用程序脚本进行自动对焦?
- c# - 以编程方式更改数据网格中的列值
- r - r for 循环中的迭代
- android - 如何修复cardview在回收站视图中相互重叠?
- azure - 如何配置 Azure 应用服务(移动版)和 B2C 身份验证以及访问 Azure SQL 数据库