2016-11-24 2 views
1

Ich debugging meine Web-App mit DevTools, als ich bemerkte, dass Firefox URL im Src-Attribut eines IMG, das in einem HTML5-Template-Tag befindet, definiert ist, während Chrome nicht.Firefox Inhalt in HTML5 Vorlage vor der Aktivierung anfordern

Ich verwende die letzte Version (50.0).

Ist das ein Fehler?

Beispiel unten:

<template id="object-img"> 
    <div class='object-container'> 
    <div> 
     <img src="cacaca.jpg" class="img-responsive" alt="imagem" /> 
    </div> 
    </div> 
</template> 
+0

Nun, Sie müssten uns etwas Code zeigen, damit wir sehen können, ob Sie etwas falsch gemacht haben ... Aber wenn Sie die Vorlage nicht explizit rendern, sollte der Browser sie nicht selbst rendern, geschweige denn eine Anfrage stellen externe Ressourcen basierend auf dem Vorlageninhalt. – CBroe

+0

Wie gewünscht, gebe ich ein Beispiel (bearbeitet auf meine eigene Frage). Die Vorlage wird nicht gerendert - es wird per Javascript onclick-Ereignis gerendert. –

+0

Eine weitere nützliche Information: Mein Code hat andere Vorlagen. Video, Audio, Objekt ... Aber nur der IMG hat dieses Verhalten. –

Antwort

0

Es ist eine Art von Optimierung von Firefox.

Die image wird nur beim ersten Mal angefordert, wenn sie sich nicht bereits im Browserhistorie/Cache befindet. Nachfolgendes erneutes Laden der Seite löst die Anfrage nicht erneut aus.

Das Problem ist, dass die image innerhalb der <template> vor den folgenden aber normalen Bildern in dem gerenderten DOM angefordert wird, was in einigen Situationen kontraproduktiv sein könnte. Eine Lösung ist, die <template> nach den anderen Bildern zu setzen.

Hinweis: Die template Spezifikationen geben an, dass die Elemente in der Vorlage nicht gerendert werden, aber sie werden analysiert. Sie sagen nichts über das Vorladen von referenzierten Ressourcen.