WordPress.org

Make WordPress Core

Ticket #45053: 45053.2.diff

File 45053.2.diff, 1.6 KB (added by adamsilverstein, 3 years ago)
  • src/js/_enqueues/wp/customize/preview.js

    diff --git src/js/_enqueues/wp/customize/preview.js src/js/_enqueues/wp/customize/preview.js
    index e8f7d041c0..9bbbf2a084 100644
     
    237237         * @returns {void}
    238238         */
    239239        api.addLinkPreviewing = function addLinkPreviewing() {
    240                 var linkSelectors = 'a[href], area';
     240                var linkSelectors = 'a[href], area[href]';
    241241
    242242                // Inject links into initial document.
    243243                $( document.body ).find( linkSelectors ).each( function() {
     
    337337        api.prepareLinkPreview = function prepareLinkPreview( element ) {
    338338                var queryParams, $element = $( element );
    339339
     340        // Skip elements with no href attribute. Check first to avoid more expensive checks down the road
     341        if ( ! element.hasAttribute( 'href' ) ) {
     342            return;
     343        }
     344
    340345                // Skip links in admin bar.
    341346                if ( $element.closest( '#wpadminbar' ).length ) {
    342347                        return;
     
    776781                        api.settings.changeset.uuid = uuid;
    777782
    778783                        // Update UUIDs in links and forms.
    779                         $( document.body ).find( 'a[href], area' ).each( function() {
     784                        $( document.body ).find( 'a[href], area[href]' ).each( function() {
    780785                                api.prepareLinkPreview( this );
    781786                        } );
    782787                        $( document.body ).find( 'form' ).each( function() {
     
    810815
    811816                        api.settings.changeset.autosaved = true; // Start deferring to any autosave once changeset is updated.
    812817
    813                         $( document.body ).find( 'a[href], area' ).each( function() {
     818                        $( document.body ).find( 'a[href], area[href]' ).each( function() {
    814819                                api.prepareLinkPreview( this );
    815820                        } );
    816821                        $( document.body ).find( 'form' ).each( function() {