WordPress.org

Making WordPress.org

Opened 4 years ago

Last modified 4 years ago

#155 new enhancement

Confirm page close when writing on WordPress.org forums

Reported by: Daedalon Owned by:
Milestone: Priority: lowest
Component: Support Forums Keywords: has-patch dev-feedback
Cc:

Description

Migrating from #wp24145:

When writing on WordPress.org forums, sometimes long and well thought-out replies are lost due to accidental page closing. This causes countless amounts of work lost within the WordPress community.

There should be a confirmation dialog to prevent accidental page closing after user has entered something in the new post form.

Comments in #wp24145 have a jQuery-based solution if we want to use it.

Change History (1)

#1 @Daedalon
4 years ago

  • Keywords has-patch dev-feedback added

Here's an improved solution based on the earlier one in #wp24145 and comments in Stack Overflow. Uses addEventListener to avoid overriding other listeners and includes a workaround for clients that don't support it.

if( $('#postform').length ){
    requireConfirmClose = false;
    $('#postform input[type=text], #postform select, #postform textarea').change( function(){
    	requireConfirmClose = true;
    });
    $('input#postformsub').click( function(){
        requireConfirmClose = false;
    });
    // Workaround for browsers without addEventListener support
    if (typeof window.addEventListener === 'undefined') {
        window.addEventListener = function(e, callback) {
            return window.attachEvent('on' + e, callback);
        }
    }
    window.addEventListener('beforeunload', function(eventObject) {
        if ( requireConfirmClose ) {
            eventObject.returnValue = 'Are you sure you want to close this page? All changes will be lost.';
        }
    });
}
Note: See TracTickets for help on using tickets.