浏览器没有使用MediaQuery属性加载CSS

时间:2017-06-27 20:58:34

标签: html css

我有来自在线银行公司的HTML文件,该公司在我公司的多台计算机(Windows 7 x64 Pro)上无法正确显示。该页面是银行的登录页面。

我经过广泛研究后发现,问题是浏览器没有加载页面的主要CSS样式表(在Chrome,IE和Firefox上测试,所有版本都更新到最新版本)。

鉴于以下代码:

<link rel="stylesheet" type="text/css" media="screen, print" href="https://www.ib3.bradesco.com.br/ibpf/conteudo/css/geral/estrutura.css?Versao=6.css" />

如果删除属性media="screen, print",则加载CSS并且一切正常。

有人知道发生了什么吗?为什么CSS没有加载media

1 个答案:

答案 0 :(得分:1)

根据specs,它有效。虽然我不知道为什么它不起作用,但这是一个实用的解决方案:

<link rel="stylesheet" type="text/css" media="screen" href="https://www.ib3.bradesco.com.br/ibpf/conteudo/css/geral/estrutura.css?Versao=6.css" />
<link rel="stylesheet" type="text/css" media="print" href="https://www.ib3.bradesco.com.br/ibpf/conteudo/css/geral/estrutura.css?Versao=6.css" />

由于任何时候只有一个条件可以为真,因此除了<link />标签的大小(以字节为单位)外,几乎不增加任何开销。

请注意,如果条件可能都是正确的,那么此方法不会很好(理论上),因为样式表将被加载一次(第二次从缓存中获取)但解析了两次。当然,它会起作用,但开销会大得多。

如果您无法控制页面来源,您可以做的最多就是通知页面所有者(银行)有关问题的信息。