Following code has different results in safari vs chrome vs firefox.
var noscript = document.getElementsByTagName('noscript')[0];
console.log(noscript.innerHTML);
Result in Chrome:
<img alt="***" title="***" src="***" width="***" height="***" srcset="***" sizes="***" />
Result in Firefox:
<img alt=\"***\" title=\"***\" src=\"***\" width=\"***\" height=\"***\" srcset=\"***\" sizes=\"***\" />
Result in Safari:
<img alt="***" title="***" src="***" sizes="***" />
How can one create and inject a valid img element cross browser?
Following works in Chrome & Firefox
noscript.insertAdjacentHTML('beforebegin',noscript.innerHTML);
Following works in safari
var html = new DOMParser().parseFromString(noscript.innerHTML, "text/html");
noscript.insertAdjacentHTML('beforebegin',html.documentElement.innerText);