Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet ExplorerSafari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.

/* Warn when closing an edited page */

// Generalized version of hookEvent() in wikibits.js
var hookEvent = function (hookTarget, hookName, hookFunct) {
    if (!hookTarget) return;
    if (hookTarget.addEventListener) {
        hookTarget.addEventListener(hookName, hookFunct, false);
    }
    else if (hookTarget.attachEvent) {
        hookTarget.attachEvent("on" + hookName, hookFunct);
    }
}

// Record original text and attach onsubmit event to the form
editFormSubmitting = false;
$(function () {
    var editForm = document.getElementById("editform");
    var editBox = document.getElementById("wpTextbox1");
    if (!editForm || !editBox) return;
    
    wpTextbox1_orig = editBox.value;
    hookEvent(editForm, "submit", function () {
        editFormSubmitting = true;
    });
});

// Warn if text has changed or changes are being previewed
hookEvent(window, "beforeunload", function (e) {
    e = (window.event) ? window.event : e;
    var editBox = document.getElementById("wpTextbox1");
    if (editFormSubmitting || !editBox || !wpTextbox1_orig) return;
    
    var preview = document.getElementById("wikiPreview");
    var previewNote = getElementsByClassName(preview, "div", "previewnote");
    var isPreview = previewNote && previewNote.length > 0;
    var textChanged = editBox.value != wpTextbox1_orig;
    if (isPreview || textChanged) {
        return e.returnValue = "Tất cả các sửa đổi sẽ bị hủy vì bạn chưa lưu trang.";
    }
});