pix*_*tic 27 javascript noscript internet-explorer-7
我正在尝试<noscript>使用Javascript 获取标记的内容.我成功地设法在FF,Chrome,Opera甚至IE6中获得它但在IE7上失败(尚未尝试过IE8 +).
基本上,这是减少代码版本:
<noscript>Lorem ipsum</noscript>
<script>
var noscript = document.getElementsByTagName('noscript')[0];
noscript.textContent; // undefined
noscript.innerHTML; // empty string
noscript.childNodes.length; // 0
</script>
Run Code Online (Sandbox Code Playgroud)
我尝试在里面添加元素并定位它们,但没有成功.我试图包装一个父元素并获取它.innerHTML,但<noscript>标签之间的任何东西都被丢弃了.
注意:我正在构建一个lazyloader脚本,该<noscript>元素正是我需要的(浏览器不会获取标记<img> src内的属性<noscript>.)
Tim*_*own 25
在IE 7和8中,根本无法检索<noscript>元素的内容.HTML中的<noscript>和</noscript>标记之间的任何内容都不会反映在IE中的DOM中,该元素没有子元素,innerHTML并且innerText是空字符串.
在IE 6,情况好奇:与IE 7常见,<noscript>元件没有子节点,但它的内容被反映在innerHTML与outerHTML(但不是innerText所述元件的)性质.
所有这些都是这种情况,IE中唯一的选择是将<noscript>元素中的内容放在其他元素中.要模拟<noscript>元素的行为,可以将内容放在一个立即被JavaScript隐藏的元素中(启用脚本时):
<div id="noscript">Lorem ipsum</div>
<script type="text/javascript">
document.getElementById("noscript").style.display = "none";
</script>
Run Code Online (Sandbox Code Playgroud)