2012-04-15 57 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.我無法想象這有什麼用處。