2016-11-24 10 views
1

Я отлаживал свое веб-приложение с помощью DevTools, когда заметил, что Firefox запрашивает url, определенный в атрибуте src для img, который находится внутри тега шаблона HTML5, а Chrome - нет.Firefox запрашивает содержимое внутри шаблона HTML5 перед активацией

Я использую последнюю версию (50.0).

Это ошибка?

Пример ниже:

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

Ну, вы должны показать нам какой-то код, чтобы мы могли увидеть, что вы сделали что-то неправильно ... Но если вы каким-либо образом не визуализируете шаблон, браузер не должен сам его отображать, не говоря уже о том, чтобы запросить какой-либо внешние ресурсы на основе содержимого шаблона. – CBroe

+0

В соответствии с просьбой я приведу пример (отредактированный по моему собственному вопросу). Шаблон не отображается - он отображается через событие javascript onclick. –

+0

Другая полезная информация: у моего кода есть другие шаблоны. Видео, аудио, объект ... Но только IMG имеет такое поведение. –

ответ

0

Это своего рода оптимизация от Firefox.

image запрашивается только в первый раз, если он еще не находится в истории браузера/кеше. Последующая перезагрузка страницы снова не вызовет запрос.

Проблема заключается в том, что image внутри <template> запрашивается до следующих, но нормальных изображений в оказанной DOM, что может быть обратным в некоторых ситуациях. Решение состоит в том, чтобы поместить <template> после других изображений.

Примечание: В спецификациях template указано, что элементы в шаблоне не отображаются, но они разобраны. Они ничего не говорят о предварительной загрузке ссылочных ресурсов.