【发布时间】:2015-08-23 09:35:10
【问题描述】:
我正在更新我的服务器以通过 HTTPS 而不是 HTTP 访问我的 Web 应用程序。它工作正常,但我的一些 CSS 样式呈现不同。
- CSS 文件正在加载 - 大部分我的样式都在那里。
- 没有关于资产未能在控制台中加载的报告。
- 所有网址均已更新为 HTTPS。
如果由于代码中的 URL 不正确(HTTP 而不是 HTTPS)而失败,则它不会显示在浏览器中。
例如,我使用的是Bootstrap,而我有一个split button dropdown。在非 HTTPS 站点上,它看起来是正确的;在 HTTPS 站点上,它使用右侧的按钮(带有插入符号)呈现它应该是高度的 1/2。我已经通过浏览器深入研究了元素,看起来似乎没有正确计算子元素的高度。边距、内边距和字体大小都相同。
我已经使用 Chrome 的开发者控制台逐步检查了 DOM,并将工作版本与不正确的版本并排比较,我找不到差异。
我在 Chrome 和 Firefox 中都打开了该页面,并在两者中都发现了相同的问题。
我可能遗漏了一些简单的东西,但我不知道它是什么。有什么建议吗?
编辑
另一个线索浮出水面:我遇到了this answer to a different question 并检查了DOCTYPE。事实证明,HTTP 站点的开头有一个 doctype 标签:` 但 HTTPS 站点没有(这很奇怪,因为它在我的代码中)。所以这是一个重要的区别,我将做更多的工作来确定该标签的去向。 FWIW,我正在使用 Apache2 通过 URL 重写的反向代理服务页面...
【问题讨论】:
-
可能是样式表通过 HTTP 拉取被阻塞的资源,使用
@import或@font-face?通常控制台会报告这样的块。 -
是的,我已经检查了控制台 - 没有任何被阻止的报告。