2016-11-24 87 views
1

当我注意到Firefox正在请求位于HTML5模板标记内的img的src属性中定义的url时,我正在使用DevTools调试我的Web应用程序,而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尚未在浏览器的历史记录/缓存中时才被请求。后续重新加载页面将不会再次触发请求。

的问题是,<template>image在渲染DOM以下,但正常图像,这可能是在某些情况下适得其反之前被请求。解决方法是将<template>放在其他图像之后。

注意:template规范声明模板中的元素不会呈现,但会被解析。他们对引用资源的预加载没有提及。