提问人:Matty 提问时间:4/15/2012 更新时间:4/16/2012 访问量:520
在 noscript 元素中加载资源
Loading assets in a noscript element
问:
我希望标准行为是不要在元素中加载任何资产,FF 和 Chrome 中的快速粗略测试证明确实如此。但是,在启用脚本时,是否有任何情况会加载元素中的资产(例如图像)?<noscript>
<noscript>
答:
1赞
m90
4/15/2012
#1
根据 W3 规范:
NOSCRIPT 元素允许作者在以下情况下提供替代内容 脚本未执行。NOSCRIPT 元素的内容应 仅在以下情况下由脚本感知用户代理呈现: 用户代理配置为不评估脚本。用户代理 不支持 SCRIPT 元素调用的脚本语言 在文档的前面部分。不支持客户端的用户代理 脚本必须呈现此元素的内容。
所以我想就像您的测试所证明的那样:当客户端支持元素时,部分中的元素根本不会被渲染(即也下载)。<noscript>
<script>
我也刚刚在我的一个页面上测试了这一点,该页面在其内部使用了图像,Chrome、FF、Opera 或 IE 都没有对下载图像表现出任何兴趣。<noscript>
1赞
Alohci
4/15/2012
#2
我想这完全取决于你的意思。采用以下标记:
<!DOCTYPE html>
<html>
<head>
<title>Test Case</title>
</head>
<body>
<noscript id="ns">
</noscript>
<script>
var ns = document.getElementById("ns");
ns.innerHTML = "</noscript><img src='http://www.alohci.net/dummy'>";
</script>
</body>
</html>
在Firefox中,这将导致元素内部有一个元素,并且引用的图像是从服务器获取的。<img>
<noscript>
注意:
1.我不知道为什么会这样。
2. 似乎只有 Firefox 可以做到这一点。
3. 我无法想象这有什么用。
评论
<noscript>