我这个登录页面,由于使用了一个cdn的js,但是加载很慢,碰巧出现了这个问题,不知道怎么解决?
我可以换一个快的cdn,或者直接从我的服务器加载js文件,但是这个问题,我想知道如何解决?
页面都加载完了, 这会儿用户点击"登录"没有反应,原因是js文件没下载完毕,稍微等2s就可以了,看浏览器下方的加载进度就可以知道,我的js的位置是在页面的最下方</body>上方
我这个登录页面,由于使用了一个cdn的js,但是加载很慢,碰巧出现了这个问题,不知道怎么解决?
我可以换一个快的cdn,或者直接从我的服务器加载js文件,但是这个问题,我想知道如何解决?
页面都加载完了, 这会儿用户点击"登录"没有反应,原因是js文件没下载完毕,稍微等2s就可以了,看浏览器下方的加载进度就可以知道,我的js的位置是在页面的最下方</body>上方
首先你这个js加载确实很久,想想能不能加少文件体积,换个CDN等方式加快加载时间。
另外,在功能js没有加载完的时候,就不要提供对应功能的页面给用户。要不给一个loading页面,要不在页面加载完毕后在显示登录按钮。
(另外我试了下jd登陆页面,把加载网速调的很慢,登陆按钮一出现就去点击的时候也是没有响应的)
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
一,如果是 js 文件过大导致加载需要 2s 的话可以通过以下方法优化一下:
使用 uglify 和 minify 之后的 js 文件
开启 gzip 压缩
去除 js 文件中与页面无关的内容,保持精简
二,如果是网络问题导致的话,可以通过以下方式:
减少 js 请求数量,合并文件
像你说的使用更快更稳定的 cdn
如果是 pc 页面的话可以使用域名收敛,减少 dns 解析时间
配置 etags,cache-control 等,合理利用缓存
三,如果你只要能够在页面加载出来的时候可以使用,可以把
script
放在head
里面,同时在onload
事件执行之后运行js
文件,这样可能会有一段白屏时间,但是页面出来之后保证js
文件已经加载完毕,当然这个不推荐使用,用户体验很不好