在noscript元素中加载资源

时间:2012-04-15 12:30:13

标签: html html5 xhtml cross-browser noscript

我希望标准行为是不加载<noscript>元素中的任何资源,而在FF和Chrome中快速粗略测试证明了这种情况。但是,在启用脚本时是否会加载<noscript>元素中的资产(例如图像)?

2 个答案:

答案 0 :(得分:1)

根据 W3 specifications

  

NOSCRIPT元素允许作者在何时提供替代内容   脚本未执行。 NOSCRIPT元素的内容应该是   仅在以下情况下由脚本感知用户代理呈现:   用户代理配置为不评估脚本。用户代理   不支持SCRIPT元素调用的脚本语言   在文件的前面。不支持客户端的用户代理   脚本必须呈现此元素的内容。

所以我猜你的测试证明就好了:当客户端支持<noscript>个元素时,<script>部分内的元素根本不会呈现(也就是下载)。

我也是在我的<noscript>部分内部使用图片的网页上测试了这一点,Chrome,FF,Opera或IE都没有对下载图片感兴趣。

答案 1 :(得分:1)

我想这取决于你的意思。拿这个标记:

<!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>元素,并且从服务器获取引用的图像。

注意:
我不知道为什么会这样 2.只有Firefox似乎这样做 我无法想象有什么用。