您好!欢迎访问否玩代码!
广告位

网站资源加载失败?三步排查CSS/JS/图片缺失问题

栏目: 日期: 浏览:133

身为一位长时间运营网站的站长, 你肯定碰到过类似场景: 代码未曾改动, 可是开启页面之际, 图片出现裂开状况, 图标消逝不见, 样式发生错乱, 甚至于整个页面变作纯文本。别着急, 今日我们就要进行系统排查, 去解决“网站部分图片、样式、CSS、JS加载失败, 图标缺失”的问题。

第一步:确认资源路径是否正确

起因最为常见的是资源路径有误情形, 于浏览器按下F12以开启开发者工具, 进而进入“网络(Network)”面板, 随后刷新页面。寻觅到状态码为404或者403的请求, 此即加载失败了的文件。

检查该文件的URL:是相对路径(如 ./images/logo.png)还是绝对路径(如 https://yourdomain.com/assets/css/style.css)?

如果是相对路径,确认当前页面的URL层级是否正确。举例来说, 于https://site.com/blog/post.html这个页面里引用./images/logo.png, 实际上所请求的是https://site.com/blog/images/logo.png, 要是图片处于根目录下, 那么路径就应当改成../images/logo.png。

若是绝对路径, 进行确认, 域名与否, 目录名是不是, 文件名有没有完全匹配, 要留意大小写敏感哦。

第二步:检查服务器配置与缓存

如果路径正确但依然加载失败,问题可能出在服务器或缓存上。

服务器的MIME类型方面, 倘若CSS/JS文件被服务器以错误的MIME类型予以返回, 那么浏览器会拒绝执行。于Network面板里点击请求, 去查看“Response Headers”中的Content-Type, 其中CSS应该是text/css, 而JS应该是application/javascript。若呈现 text/plain 或者 application/octet-stream, 那么需要针对服务器配置予以修正, (对于 Nginx 而言要去添加 types 指令, 而 Apache 则是通过 AddType 指令来达成)。

假如你的资源借助CDN这种分发形式进行推送, 那就试着去清理CDN缓存, 因为存在一部分情形是, CDN节点很有可能会返回旧版本或者出现文件损坏的状况。

在浏览器缓存方面, 通过按下Ctrl与F5这两个按键从而进行强制刷新的操作, 以此来可以将当前页面的缓存进行彻底清除。

第三步:排查第三方资源与跨域问题

有许多图标字体, 像是Font Awesome, 或者外部JS库, 是借助CDN进行加载的。一旦这些CDN服务商出现故障, 或者被墙, 便会致使图标缺失。

检验CDN域名能不能顺利解析, 可运用“ping”或者“dig”命令。

于Network面板那儿去查看请求的Status, 要是展露出被阻塞的局面: 呈现为混合内容, 那就表明你的网站是HTTPS的, 然而资源引用的却是HTTP接, 如此浏览器会对加载加以阻止。要把所有外部资源路变更成https:// 亦或是运用协议相对路径(//cdn.example.com/)。

倘若资源源自别的域名, 那就去确认一下该域名有没有设置恰当的CORS头。就拿字体文件来说呗, 一般来讲它要是想跨域加载的话, 必不可少地带Access-Control-Allow-Origin: *。

总结

碰到资源加载失败这种情况时, 关键的排查思路如下: 先看路径, 接着查服务器, 最后瞅外部依赖。要将F12开发者工具视作你的首要诊断工具, 一条一条地去排查, 大部分问题能够在5分钟里定位出来。

倘若你所需的是一个免费的在线代码编辑以及测试环境, 那么不妨尝试一下否玩代码编辑, 其网址为: https://www.fouwan.com