Editor: do not reuse the preview tab when the user has navigated away.
See #32588. git-svn-id: https://develop.svn.wordpress.org/trunk@32809 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
b31928788d
commit
7ef6ece222
|
@ -290,6 +290,9 @@ add_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 );
|
||||||
// Nonce check for Post Previews
|
// Nonce check for Post Previews
|
||||||
add_action( 'init', '_show_post_preview' );
|
add_action( 'init', '_show_post_preview' );
|
||||||
|
|
||||||
|
// Output JS to reset window.name for previews
|
||||||
|
add_action( 'wp_head', 'wp_post_preview_js', 1 );
|
||||||
|
|
||||||
// Timezone
|
// Timezone
|
||||||
add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' );
|
add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' );
|
||||||
|
|
||||||
|
|
|
@ -4913,3 +4913,36 @@ function wp_delete_file( $file ) {
|
||||||
@unlink( $delete );
|
@unlink( $delete );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Outputs a small JS snippet on preview tabs/windows to remove `window.name` on unload.
|
||||||
|
* This prevents reusing the same tab for a preview when the user has navigated away.
|
||||||
|
*
|
||||||
|
* @since 4.3.0
|
||||||
|
*/
|
||||||
|
function wp_post_preview_js() {
|
||||||
|
global $post;
|
||||||
|
|
||||||
|
if ( ! is_preview() || empty( $post ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Has to match the window name used in post_submit_meta_box()
|
||||||
|
$name = 'wp-preview-' . (int) $post->ID;
|
||||||
|
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
( function() {
|
||||||
|
var query = document.location.search;
|
||||||
|
|
||||||
|
if ( query && query.indexOf( 'preview=true' ) !== -1 ) {
|
||||||
|
window.name = '<?php echo $name; ?>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( window.addEventListener ) {
|
||||||
|
window.addEventListener( 'unload', function() { window.name = ''; }, false );
|
||||||
|
}
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue