[wp-trac] [WordPress Trac] #44306: wp-embed-template.js Sends a message earlier than the wp-embed.js listener will be installed

WordPress Trac noreply at wordpress.org
Thu Nov 11 02:47:24 UTC 2021


#44306: wp-embed-template.js Sends a message earlier than the wp-embed.js listener
will be installed
--------------------------+--------------------------
 Reporter:  Cawa-93       |       Owner:  westonruter
     Type:  defect (bug)  |      Status:  closed
 Priority:  normal        |   Milestone:  5.9
Component:  Embeds        |     Version:  4.4
 Severity:  normal        |  Resolution:  fixed
 Keywords:  has-patch     |     Focuses:  javascript
--------------------------+--------------------------
Changes (by westonruter):

 * status:  accepted => closed
 * resolution:   => fixed


Comment:

 In [changeset:"52132" 52132]:
 {{{
 #!CommitTicketReference repository="" revision="52132"
 Embeds: Conditionally enqueue `wp-embed` only if needed and send `ready`
 message in case script loads after post embed windows.

 * Prevent loading `wp-embed` script unconditionally on every page in favor
 of conditionally enqueueing when a post embed is detected. The `wp-embed`
 script is also explicitly marked as being in the footer group. Sites which
 currently disable post embed scripts from being enqueued via
 `remove_action( 'wp_head', 'wp_oembed_add_host_js' )` will continue to do
 so.
 * Send a `ready` message from the host page to each post embed window in
 case the `iframe` loads before the `wp-embed` script does. When the
 `ready` message is received by the post embed window, it sends the same
 `height` message as it sends when it loads.
 * Eliminate use of `grunt-include` to inject emoji script and the post
 embed script. Instead obtain the script contents via `file_get_contents()`
 (as is done elsewhere in core) and utilize
 `wp_print_inline_script_tag()`/`wp_get_inline_script_tag()` to construct
 out the script. This simplifies the logic and allows the running of src
 without `SCRIPT_DEBUG` enabled.
 * For the embed code that users are provided to copy for embedding outside
 of WP, add the `secret` on the `blockquote` and `iframe`. This ensures the
 `blockquote` will be hidden when the `iframe` loads. The embed code in
 question is accessed here via `get_post_embed_html()`.

 Props westonruter, swissspidy, pento, flixos90, ocean90.
 Fixes #44632, #44306.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/44306#comment:7>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list