2012-04-15 5 views
0

Ich erwarte, dass das Standardverhalten darin besteht, keine Assets in einem Element <noscript> zu laden, und ein schneller oberflächlicher Test in FF und Chrome beweist, dass dies der Fall ist. Gibt es jedoch Situationen, in denen Assets (z. B. ein Bild) in einem Element <noscript> geladen werden, wenn Skripts aktiviert sind?Laden von Assets in ein Noscript-Element

+0

Denken Sie nicht, dass es dies tun wird, wenn es richtig konfiguriert ist: http://www.w3.org/TR/html4/interact/scripts.html#h-18.3.1 Auch nur auf einer Website mit einem Bild getestet in einem '

+0

@ m90 Danke. Dies sollte wahrscheinlich eine Antwort sein, kein Kommentar! Auf welche Browser haben Sie abgezielt? – Matty

+1

Ich schaute auf Chrome, FF, Opera und IE. Wird das sofort beantworten. – m90

Antwort

1

Nach W3 specifications:

Das NOSCRIPT Element ermöglicht Autoren alternativen Inhalt zu liefern, wenn ein Skript nicht ausgeführt wird. Der Inhalt eines NOSCRIPT-Elements sollte in den folgenden Fällen nur von einem skriptsensitiven Benutzeragenten gerendert werden: Der Benutzeragent ist so konfiguriert, dass keine Skripts ausgewertet werden. Der Benutzeragent unterstützt keine Skriptsprache, die zuvor von einem SCRIPT-Element aufgerufen wurde. Benutzeragenten, die clientseitige -Skripts nicht unterstützen, müssen den Inhalt dieses Elements rendern.

Also ich denke, genau wie Ihre Tests bewiesen: Elemente in einem <noscript> Abschnitt nicht wiedergegeben werden (das heißt auch heruntergeladen) überhaupt, wenn der Client unterstützt <script> Elemente.

Ich habe auch gerade dies auf einer Seite von mir getestet, die ein Bild innerhalb seiner <noscript> Teil verwendet und weder Chrome, FF, Opera oder der IE zeigten Interesse daran, das Bild herunterzuladen.

1

Ich denke, es hängt genau davon ab, was du meinst. Nehmen Sie diese Markup:

<!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> 

In Firefox dies in einem <img> Element innerhalb des <noscript> Element führen und das Bild Bezug genommen wird, vom Server geholt.

Hinweise:
  1. Ich habe keine Ahnung, warum das passiert.
  2. Nur Firefox scheint dies zu tun.
  3. Ich kann mir keine Verwendung vorstellen.

Verwandte Themen