diff --git a/admin/write-js.php b/admin/write-js.php index 379a7ccf..25c21a29 100644 --- a/admin/write-js.php +++ b/admin/write-js.php @@ -113,10 +113,11 @@ $(document).ready(function() { textarea.setSelection(offset, offset); }; + var form = $('form[name=write_post],form[name=write_page]'); + // 自动保存 autoSave): ?> var savedData = null, locked = false, - form = $('form[name=write_post],form[name=write_page]'), formAction = form.attr('action'), idInput = $('input[name=cid]'), autoSave = $('#auto-save-message'), @@ -127,12 +128,12 @@ $(document).ready(function() { setInterval(function () { var data = form.serialize(); - if (savedData != data) { - savedData = data; + if (savedData != data && !locked) { locked = true; autoSave.text(''); $.post(formAction + '?do=save', data, function (o) { + savedData = data; lastSaveTime = o.time; idInput.val(o.cid); autoSave.text('' + ' (' + o.time + ')').effect('highlight', 1000); @@ -159,6 +160,19 @@ $(document).ready(function() { }); + // 自动检测离开页 + var lastData = form.serialize(); + + $(window).bind('beforeunload', function () { + if (!!savedData) { + lastData = savedData; + } + + if (form.serialize() != lastData) { + return ''; + } + }); + // 高级选项控制 $('#advance-panel-btn').click(function() { $('#advance-panel').toggle();