[wp-trac] [WordPress Trac] #49480: Custom HTML with <script> incorrectly encodes '&' character
WordPress Trac
noreply at wordpress.org
Thu Feb 20 04:47:34 UTC 2020
#49480: Custom HTML with <script> incorrectly encodes '&' character
--------------------------+-----------------------------
Reporter: talldanwp | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Embeds | Version:
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
This was originally reported in the Gutenberg github repo
(https://github.com/WordPress/gutenberg/issues/13186), but during a triage
session in slack was identified as a core bug
(https://wordpress.slack.com/archives/C02QB2JS7/p1579758213000600). #34698
is possibly related.
----
**Describe the bug**
If the javascript code in a <script> block contains an `&` operator, it
will be converted to `&`, which browser flags as a syntax error. The
script will not work.
I am using WP 5.0.2, Gutenberg updated Jan 3, 2019 (don't know where to
find the version), hosted on easyWP.
Example:
{{{
<script>
const hex = [];
for (let i = 0; i < 256; i++) {
hex[i] = (i < 16 ? '0' : '') + (i).toString(16);
}
function generateUUID() {
const r = crypto.getRandomValues(new Uint8Array(16));
r[6] = r[6] & 0x0f | 0x40;
r[8] = r[8] & 0x3f | 0x80;
const h = Array.from(r).map(i => hex[i]);
return
`${h[0]}${h[1]}${h[2]}${h[3]}-${h[4]}${h[5]}-${h[6]}${h[7]}-${h[8]}${h[9]}-${h[10]}${h[11]}${h[12]}${h[13]}${h[14]}${h[15]}`;
}
</script>
}}}
**To Reproduce**
Steps to reproduce the behavior:
1. Go to a Page
2. Click on 'add Custom HTML'
3. Paste the above HTML <script> snippet into the block.
4. Preview the change
5. Open the JavaScript console. You will see a syntax error: "Invalid
Character: '#'":
{{{
r[6] = r[6] & 0x0f | 0x40;
r[8] = r[8] & 0x3f | 0x80;
}}}
**Expected behavior**
I expect no syntax errors. The script should be rendered without any
encoding of characters.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: Mac OS X 10.14
- Browser chrome and safari
- Version chrome 71.0.3578.98
--
Ticket URL: <https://core.trac.wordpress.org/ticket/49480>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list