为什么 Bootstrap 尝试在 Edge 中加载 LESS 文件?

2024-01-19

我有一个使用 Twitter Bootstrap 的网页。它在 Chrome、Firefox 和 Safari 中运行良好。然而,当我尝试在 Windows 10 上的 Edge 中查看它时,收到一堆 403 错误,指出它无法从 Bootstrap CDN 加载大量 .less 文件。如果浏览器无法对 .less 文件执行任何操作,为什么还要请求它们?我根本没有使用 LESS,只是简单的 CSS3,它渲染得很好。我该如何停止这个过程?


好消息是这不会影响该网站的普通用户。坏消息是,这种情况在某种程度上也发生在 Chrome 中,只是 Chrome 中的网络选项卡没有报告 403 错误。

在您链接到的 CSS 文件中,文件底部有一行:

/*# sourceMappingURL=bootstrap.min.css.map */

这是源映射,并提供了用于生成浏览器中的缩小 CSS 的所有源文件的链接。

在引导实例中,CDN 指向不存在的文件,例如http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/less/scaffolding.less http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/less/scaffolding.less

仅当您启用了源映射并打开了开发工具时,才会下载源映射文件。 Edge 默认打开源映射,据我所知,没有办法将它们关闭(但请记住,只有在开发工具打开时才会发生这种情况,我已经使用 Fiddler 确认了这种行为),所以当您按 f12 时,它是将尝试获取源映射文件。 Chrome 的工作方式略有不同,它会下载源映射,但在您导航到源文件之前不会尝试下载 .less 文件。

如果其中一个 .less 文件返回 403 Forbidden 响应,Edge 会在网络选项卡中报告这一情况。 Chrome 没有。

如果您使用 http 调试器(例如 Fiddler),您将看到 Chrome 确实请求了这些文件,并且还收到了 403 响应,但是,它不会在网络选项卡上报告它。当使用 Fiddler 解决 https 问题时,我更改了 CSS 文件以指向非 https URL。例如:http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css

此问题的解决方法是修复源映射中 403 的文件。我在 bootstrap maxcdn GitHub 重现上提出了一个问题:https://github.com/MaxCDN/bootstrap-cdn/issues/629 https://github.com/MaxCDN/bootstrap-cdn/issues/629

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Bootstrap 尝试在 Edge 中加载 LESS 文件? 的相关文章

随机推荐