summaryrefslogtreecommitdiffstats
path: root/wp-includes/js/zxcvbn-async.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
commita415c29efee45520ae252d2aa28f1083a521cd7b (patch)
treef4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-includes/js/zxcvbn-async.js
parentInitial commit. (diff)
downloadwordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz
wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-includes/js/zxcvbn-async.js')
-rw-r--r--wp-includes/js/zxcvbn-async.js30
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);