2012-04-15 53 views
0

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

+0

不要认为它会这样做,如果配置正确:http://www.w3.org/TR/html4/interact/scripts.html#h-18.3.1也只是使用图像在网站上测试在'

+0

@ m90谢谢。这可能应该是一个答案,不是一个评论!您定位了哪些浏览器? – Matty 2012-04-15 12:36:16

+1

我在看Chrome,FF,Opera和IE。马上将这个答案放在一个答案中。 – m90 2012-04-15 12:37:34

回答

1

根据W3 specifications

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

所以我想就像你的测试证明:一个<noscript>段内的元素不会在所有当客户端支持<script>元素上呈现(即下载的为好)。

我也在我的一个页面上测试了这个,它在<noscript>部分中使用了一个图像,Chrome,FF,Opera或IE都没有显示任何兴趣来下载图像。

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中,这将导致<noscript>元件和图像引用内部的<img>元素是从服务器获取。

备注:
  1.我不知道为什么会发生这种情况。
  2.只有Firefox似乎这样做。
  3.我无法想象这有什么用处。