From 6505f70ffb1477572974ca04d7751d9f3042b132 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Tue, 3 Mar 2015 21:20:35 +0000 Subject: [PATCH] wpLink: fix the logic for prepending `http://` and trim the input. Props iseulde. See #18149. git-svn-id: https://develop.svn.wordpress.org/trunk@31606 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/wplink.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/wp-includes/js/wplink.js b/src/wp-includes/js/wplink.js index 088a4aa93f..692e012cc1 100644 --- a/src/wp-includes/js/wplink.js +++ b/src/wp-includes/js/wplink.js @@ -73,16 +73,20 @@ var wpLink; }, 500 ); }); - inputs.url.on( 'paste blur', function() { - setTimeout( function() { - var url = $.trim( inputs.url.val() ); + function correctURL() { + var url = $.trim( inputs.url.val() ); - if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) { - inputs.url.val( 'http://' + url ); - correctedURL = url; - } - }, 0 ); + if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) { + inputs.url.val( 'http://' + url ); + correctedURL = url; + } + } + + inputs.url.on( 'paste', function() { + setTimeout( correctURL, 0 ); } ); + + inputs.url.on( 'blur', correctURL ); }, open: function( editorId ) { @@ -157,6 +161,8 @@ var wpLink; if ( ! rivers.recent.ul.children().length ) { rivers.recent.ajax(); } + + correctedURL = inputs.url.val().replace( /^http:\/\//, '' ); }, mceRefresh: function() { @@ -202,8 +208,8 @@ var wpLink; getAttrs: function() { return { - href: inputs.url.val(), - title: inputs.title.val(), + href: $.trim( inputs.url.val() ), + title: $.trim( inputs.title.val() ), target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : '' }; },