diff options
Diffstat (limited to 'wp-includes/js/zxcvbn-async.js')
-rw-r--r-- | wp-includes/js/zxcvbn-async.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/wp-includes/js/zxcvbn-async.js b/wp-includes/js/zxcvbn-async.js new file mode 100644 index 0000000..114cb5a --- /dev/null +++ b/wp-includes/js/zxcvbn-async.js @@ -0,0 +1,30 @@ +/** + * @output wp-includes/js/zxcvbn-async.js + */ + +/* global _zxcvbnSettings */ + +/** + * Loads zxcvbn asynchronously by inserting an async script tag before the first + * script tag on the page. + * + * This makes sure zxcvbn isn't blocking loading the page as it is a big + * library. The source for zxcvbn is read from the _zxcvbnSettings global. + */ +(function() { + var async_load = function() { + var first, s; + s = document.createElement('script'); + s.src = _zxcvbnSettings.src; + s.type = 'text/javascript'; + s.async = true; + first = document.getElementsByTagName('script')[0]; + return first.parentNode.insertBefore(s, first); + }; + + if (window.attachEvent != null) { + window.attachEvent('onload', async_load); + } else { + window.addEventListener('load', async_load, false); + } +}).call(this); |