Consider the following:
- Content with a heading "Exports"
- A publishing tool that dynamically creates IDs based on the value of that heading,
id="exports"
- A browser takes this heading and creates a global variable,
window.exports returns the HTML element
- The line
typeof exports !== 'undefined' ? exports : Hogan now returns an HTML element and Hogan doesn't start properly
var Hogan = {};
(function(Hogan) {
// The value of Hogan at this point is the HTML element
// <h2 id="exports">Exports</h2>
})(typeof exports !== 'undefined' ? exports : Hogan);
This is what happened on GOV.UK on articles with content that refers to "Exports". This was one of the affected pages: https://www.gov.uk/government/publications/notice-143-a-guide-for-international-post-users/notice-143-a-guide-for-international-post-users#exports
Here's the hot fix that was applied:
alphagov/shared_mustache#8
Consider the following:
id="exports"window.exportsreturns the HTML elementtypeof exports !== 'undefined' ? exports : Hogannow returns an HTML element and Hogan doesn't start properlyThis is what happened on GOV.UK on articles with content that refers to "Exports". This was one of the affected pages: https://www.gov.uk/government/publications/notice-143-a-guide-for-international-post-users/notice-143-a-guide-for-international-post-users#exports
Here's the hot fix that was applied:
alphagov/shared_mustache#8