[wp-trac] [WordPress Trac] #58974: Modernize wp-embed script to remove IE≤11 code and support for WP<4.4
WordPress Trac
noreply at wordpress.org
Thu Aug 3 18:57:16 UTC 2023
#58974: Modernize wp-embed script to remove IE≤11 code and support for WP<4.4
-------------------------+--------------------------
Reporter: westonruter | Owner: westonruter
Type: enhancement | Status: accepted
Priority: normal | Milestone: 6.4
Component: Embeds | Version: 4.4
Severity: normal | Resolution:
Keywords: | Focuses: javascript
-------------------------+--------------------------
Description changed by westonruter:
Old description:
> In the course of making the `wp-embed` script use the `defer` loading
> strategy (#58931), I found that there was some old code for IE10/IE11
> which we can remove now since those browsers are longer supported. Also,
> since they're not supported anymore we can freely make use of `URL`
> instead of hacking URL parsing with `document.createElement('a')`.
> Additionally, I noticed that the deprecated `substr()` string method is
> being used which should be replaced with `substring()` or `slice()`.
>
> Nevertheless, as I started modernizing the `wp-embed` codebase I started
> running into another problem: the stipulation that `wp-embed.js` (and the
> generated `wp-embed.min.js`) ''not'' have any ampersands. This came up in
> #34698 for which r35708 notes:
>
> > Embeds: Remove `&` characters from the inline embed JS.
> >
> > Older versions of WordPress will convert those `&` characters to
> `&`, which makes for some non-functional JS. If folks are running an
> older release, let's not make their lives more difficult than it already
> is.
>
> This was introduced in WordPress 4.4, so the older versions in mind are
> WordPress 4.3 and below. At this time, according to
> [https://wordpress.org/about/stats/ WordPress stats], all versions below
> 4.4 add up to 1.43% of the market share:
>
> ||= Version =||= Percentage =||
> ||4.3 || 0.22%||
> ||4.2 || 0.21%||
> ||4.1 || 0.19%||
> ||4.0 || 0.13%||
> ||3.9 || 0.14%||
> ||3.8 || 0.07%||
> ||3.7 || 0.02%||
> ||3.6 || 0.08%||
> ||3.5 || 0.11%||
> ||3.4 || 0.07%||
> ||3.3 || 0.05%||
> ||3.2 || 0.03%||
> ||3.1 || 0.04%||
> ||3.0 || 0.07%||
> ||SUM: || '''1.43%'''||
>
> So it seems the relevant changes for that ticket (r35708, r35762, and
> later r50441) can be safely reverted now and the use of ampersands can be
> allowed again in `wp-embed`.
New description:
In the course of making the `wp-embed` script use the `defer` loading
strategy (#58931), I found that there was some old code for IE10/IE11
which we can remove now since those browsers are longer supported. Also,
since they're not supported anymore we can freely make use of `URL`
instead of hacking URL parsing with `document.createElement('a')`. Lastly,
the code includes a `load` event on the `window` as an apparently fallback
for browsers which don't support `DOMContentLoaded`, so that event
listener can be removed as well.
Aside: I noticed that the deprecated `substr()` string method is being
used which should be replaced with `substring()` or `slice()`.
Nevertheless, as I started modernizing the `wp-embed` codebase I started
running into another problem: the stipulation that `wp-embed.js` (and the
generated `wp-embed.min.js`) ''not'' have any ampersands. This came up in
#34698 for which r35708 notes:
> Embeds: Remove `&` characters from the inline embed JS.
>
> Older versions of WordPress will convert those `&` characters to
`&`, which makes for some non-functional JS. If folks are running an
older release, let's not make their lives more difficult than it already
is.
This was introduced in WordPress 4.4, so the older versions in mind are
WordPress 4.3 and below. At this time, according to
[https://wordpress.org/about/stats/ WordPress stats], all versions below
4.4 add up to 1.43% of the market share:
||= Version =||= Percentage =||
||4.3 || 0.22%||
||4.2 || 0.21%||
||4.1 || 0.19%||
||4.0 || 0.13%||
||3.9 || 0.14%||
||3.8 || 0.07%||
||3.7 || 0.02%||
||3.6 || 0.08%||
||3.5 || 0.11%||
||3.4 || 0.07%||
||3.3 || 0.05%||
||3.2 || 0.03%||
||3.1 || 0.04%||
||3.0 || 0.07%||
||SUM: || '''1.43%'''||
So it seems the relevant changes for that ticket (r35708, r35762, and
later r50441) can be safely reverted now and the use of ampersands can be
allowed again in `wp-embed`.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/58974#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list