【发布时间】:2020-02-03 22:38:00
【问题描述】:
以下代码在 safari、chrome 和 firefox 中的结果不同。
var noscript = document.getElementsByTagName('noscript')[0];
console.log(noscript.innerHTML);
Chrome 中的结果:
<img alt="***" title="***" src="***" width="***" height="***" srcset="***" sizes="***" />
Firefox 中的结果:
<img alt=\"***\" title=\"***\" src=\"***\" width=\"***\" height=\"***\" srcset=\"***\" sizes=\"***\" />
Safari 中的结果:
<img alt="***" title="***" src="***" sizes="***" />
如何跨浏览器创建和注入有效的 img 元素?
在 Chrome 和 Firefox 中的以下作品
noscript.insertAdjacentHTML('beforebegin',noscript.innerHTML);
在 safari 中的以下作品
var html = new DOMParser().parseFromString(noscript.innerHTML, "text/html");
noscript.insertAdjacentHTML('beforebegin',html.documentElement.innerText);
【问题讨论】:
标签: javascript google-chrome firefox safari cross-browser