【问题标题】:noscript.innerHTML has different results cross browsernoscript.innerHTML 跨浏览器有不同的结果
【发布时间】: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 中的结果:

&lt;img alt="***" title="***" src="***" sizes="***"  /&gt;

如何跨浏览器创建和注入有效的 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


    【解决方案1】:

    您可以使用多种客户端检测和兼容性检测技术来检测浏览器,然后针对每种情况执行正确的代码。 https://stackoverflow.com/a/9851769/10905239

    【讨论】:

      猜你喜欢
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      相关资源
      最近更新 更多