Make WordPress Core


Ignore:
Timestamp:
10/09/2023 09:29:42 PM (17 months ago)
Author:
westonruter
Message:

Administration: Remove deprecated unload event handlers and use pagehide (and pageshow) when appropriate.

Use pagehide event instead of unload in the following cases:

  • For classic editor to release the post lock.
  • In Text widget to rebuild editor after dragging widget to new location in classic widgets interface.
  • To clear out the window.name when navigating away from a post preview.
  • To suspend heartbeat, while also using pageshow event to resume as if it had been a focused tab in case page restored from bfcache.

Also:

  • Remove obsolete mobile cleanup code in js/_enqueues/lib/gallery.js (introduced in [9894]). Do same for src/js/_enqueues/wp/media/models.js (introduced in [22872]). See #22552.
  • Remove obsolete Firefox-specific workaround in js/_enqueues/wp/mce-view.js from [39282]. See #38511.

Fixes #55491.
Props spenserhale, westonruter, adamsilverstein, azaozz, shawfactor, peterwilsoncc, swissspidy.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/functions.php

    r56763 r56809  
    75867586
    75877587/**
    7588  * Outputs a small JS snippet on preview tabs/windows to remove `window.name` on unload.
     7588 * Outputs a small JS snippet on preview tabs/windows to remove `window.name` when a user is navigating to another page.
    75897589 *
    75907590 * This prevents reusing the same tab for a preview when the user has navigated away.
     
    76157615
    76167616        if ( window.addEventListener ) {
    7617             window.addEventListener( 'unload', function() { window.name = ''; }, false );
     7617            window.addEventListener( 'pagehide', function() { window.name = ''; } );
    76187618        }
    76197619    }());
Note: See TracChangeset for help on using the changeset viewer.