Changeset 39332 for trunk/src/wp-includes/class-wp-customize-manager.php
- Timestamp:
- 11/21/2016 04:55:20 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-customize-manager.php
r39320 r39332 1354 1354 wp_enqueue_script( 'customize-preview' ); 1355 1355 add_action( 'wp_head', array( $this, 'customize_preview_loading_style' ) ); 1356 add_action( 'wp_head', array( $this, 'remove_frameless_preview_messenger_channel' ) ); 1356 1357 add_action( 'wp_footer', array( $this, 'customize_preview_settings' ), 20 ); 1357 1358 add_filter( 'get_edit_post_link', '__return_empty_string' ); … … 1486 1487 } 1487 1488 </style><?php 1489 } 1490 1491 /** 1492 * Remove customize_messenger_channel query parameter from the preview window when it is not in an iframe. 1493 * 1494 * This ensures that the admin bar will be shown. It also ensures that link navigation will 1495 * work as expected since the parent frame is not being sent the URL to navigate to. 1496 * 1497 * @since 4.7.0 1498 * @access public 1499 */ 1500 public function remove_frameless_preview_messenger_channel() { 1501 if ( ! $this->messenger_channel ) { 1502 return; 1503 } 1504 ?> 1505 <script> 1506 ( function() { 1507 var urlParser, oldQueryParams, newQueryParams, i; 1508 if ( parent !== window ) { 1509 return; 1510 } 1511 urlParser = document.createElement( 'a' ); 1512 urlParser.href = location.href; 1513 oldQueryParams = urlParser.search.substr( 1 ).split( /&/ ); 1514 newQueryParams = []; 1515 for ( i = 0; i < oldQueryParams.length; i += 1 ) { 1516 if ( ! /^customize_messenger_channel=/.test( oldQueryParams[ i ] ) ) { 1517 newQueryParams.push( oldQueryParams[ i ] ); 1518 } 1519 } 1520 urlParser.search = newQueryParams.join( '&' ); 1521 if ( urlParser.search !== location.search ) { 1522 location.replace( urlParser.href ); 1523 } 1524 } )(); 1525 </script> 1526 <?php 1488 1527 } 1489 1528
Note: See TracChangeset
for help on using the changeset viewer.