Script Loader: Add id attributes to script assets.
This commit adds a unique ID attribute to script loader generated <script> tags as well as related <script> tags for inline JavaScript, translations, or parameters. This is a first step in adding support for lazy loading scripts and styles, but for now is only used to assist in debugging generated output. Props dd32, spacedmonkey. See #48654. Built from https://develop.svn.wordpress.org/trunk@48295 git-svn-id: http://core.svn.wordpress.org/trunk@48064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
df320b33c2
commit
633c453fcc
|
@ -227,7 +227,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<script{$this->type_attr}>\n";
|
printf( "<script%s id='%s-js-extra'>\n", $this->type_attr, esc_attr( $handle ) );
|
||||||
|
|
||||||
// CDATA is not needed for HTML 5.
|
// CDATA is not needed for HTML 5.
|
||||||
if ( $this->type_attr ) {
|
if ( $this->type_attr ) {
|
||||||
|
@ -298,11 +298,11 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
$after_handle = $this->print_inline_script( $handle, 'after', false );
|
$after_handle = $this->print_inline_script( $handle, 'after', false );
|
||||||
|
|
||||||
if ( $before_handle ) {
|
if ( $before_handle ) {
|
||||||
$before_handle = sprintf( "<script%s>\n%s\n</script>\n", $this->type_attr, $before_handle );
|
$before_handle = sprintf( "<script%s id='%s-js-before'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $before_handle );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $after_handle ) {
|
if ( $after_handle ) {
|
||||||
$after_handle = sprintf( "<script%s>\n%s\n</script>\n", $this->type_attr, $after_handle );
|
$after_handle = sprintf( "<script%s id='%s-js-after'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $after_handle );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $before_handle || $after_handle ) {
|
if ( $before_handle || $after_handle ) {
|
||||||
|
@ -366,7 +366,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
|
|
||||||
$translations = $this->print_translations( $handle, false );
|
$translations = $this->print_translations( $handle, false );
|
||||||
if ( $translations ) {
|
if ( $translations ) {
|
||||||
$translations = sprintf( "<script%s>\n%s\n</script>\n", $this->type_attr, $translations );
|
$translations = sprintf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $translations );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
|
if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
|
||||||
|
@ -385,7 +385,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
}
|
}
|
||||||
|
|
||||||
$tag = $translations . $cond_before . $before_handle;
|
$tag = $translations . $cond_before . $before_handle;
|
||||||
$tag .= sprintf( "<script%s src='%s'></script>\n", $this->type_attr, $src );
|
$tag .= sprintf( "<script%s src='%s' id='%s-js'></script>\n", $this->type_attr, $src, esc_attr( $handle ) );
|
||||||
$tag .= $after_handle . $cond_after;
|
$tag .= $after_handle . $cond_after;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -458,7 +458,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
$output = trim( implode( "\n", $output ), "\n" );
|
$output = trim( implode( "\n", $output ), "\n" );
|
||||||
|
|
||||||
if ( $echo ) {
|
if ( $echo ) {
|
||||||
printf( "<script%s>\n%s\n</script>\n", $this->type_attr, $output );
|
printf( "<script%s id='%s-js-%s'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), esc_attr( $position ), $output );
|
||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
|
@ -595,7 +595,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||||
JS;
|
JS;
|
||||||
|
|
||||||
if ( $echo ) {
|
if ( $echo ) {
|
||||||
printf( "<script%s>\n%s\n</script>\n", $this->type_attr, $output );
|
printf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $output );
|
||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '5.5-alpha-48294';
|
$wp_version = '5.5-alpha-48295';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue