为什么会出现首页白屏?

参考:首页白屏优化实践
首页白屏的引发的思考(一)

Vue React Angular这三大框架都是JS驱动,单页面的应用的html是靠js生成,首屏需要加载很大的js文件,在JS没有解析加载完成之前页面无法展示,会处于长时间的白屏。

以Vue来说,在应用启动时,Vue会对组件中的data和computed中状态值通过Object.defineProperty方法转换成get和set访问属性,以便对数据变化进行监听。而这一过程都是在启动应用时完成的,这也势必导致页面启动阶段比非 JS 驱动(比如 jQuery 应用)的页面要慢一些。

2020.9.24更
针对移动端,输入url出现白屏有哪些原因?

1、webview是什么?

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页

2、出现首页白屏的原因

参考:网页白屏具体原因分析

  1. 浏览器兼容

    • vue代码在谷歌中正常使用,但是在ie中显示白屏
    • 原因:是因为js文件没有加载,需要引入babel-polyfill这个东西,而用vue脚手架搭建的项目是没有引入此工具的
    • 解决方案:(1)npm i babel-polyfill (2)在APP.vue 文件中引入,语句为 import “babel-polyfill”
  2. js封装问题:js如果有问题,页面就不会显示

  3. URL网址无效或含有中文字符(入门级错误)

  4. 缓存导致的白屏:参考:vue构建项目入口文件index.html缓存引发的白屏问题

    • vue项目打包后,在非首次线上替换dist文件时,某些手机/浏览器在之后首次打开页面,可能出现白屏情况
    • 原因:在用户端会默认缓存index.html入口文件,而由于vue打包生成的css/js都是哈希值,跟上次的文件名都不同,因此会出现找不到css/js的情况,导致白屏的产生。在服务端更新包之后,由于旧的文件被删除,而index.html所链接的路径依然是旧文件路径,因此会找不到文件,从而白屏。解决方案一般是强制刷新页面或者清除缓存重新加载。
    • (1) 直接在网站后台清除缓存,(2) 在后台无法清理的情况下,我们可以直接删除缓存文件。连接FTP,找到home/cache文件夹,然后进入里面删除cachedata.php
    • FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
### 微信开发者工具白屏问题的原因及解决方案 #### 控制台空白问题 对于微信开发者工具控制台出现空白的情况,可能由多种因素引起。一种可能是由于给微信开发者分配的内存不足所造成。在这种情况下,可以在通用设置中尝试增加分配给该应用的内存量来解决问题[^1]。 另一种情况是当将微信开发者工具固定于Windows系统的任务栏并从中启动时,可能会遇到控制台显示为空的概率性事件。为了避免这种情况的发生,建议通过桌面快捷方式或者前往安装目录直接点击程序图标来进行启动操作。 最后,如果上述措施均未能有效改善状况,则需考虑完全移除现有软件及其残留数据后再重装最新版的应用程序。具体做法是在卸载过程中注意清理位于`C:\Users\用户名\AppData\Local`路径下的相关文件夹,并确保新版本能够正常加载原有工程记录。 #### 模拟器白屏问题 针对模拟器内部呈现白色背景而不展示任何内容的现象,这通常发生在创建新的前端项目之后更改默认首页的情况下。即使恢复之前的配置也无法恢复正常视图。对此类情形的一个潜在解释是因为某些特定条件下触发了渲染引擎中的异常状态,从而影响到了整个界面的表现形式[^2]。 为了克服这个问题,可以先关闭当前实例再重新编译构建一次;另外也可以尝试更新至更高版本的基础库以获得更好的稳定性支持——即进入详情页内的本地设定选项调整基础库版本号至不低于2.12的标准[^3]。 #### 渲染模式引发的白屏现象 值得注意的是,在部分设备尤其是较旧型号的操作系统环境下(如Win7),或是不同品牌移动终端之间可能存在差异化的表现效果。例如苹果iOS端可能出现真机调试状态下屏幕全白的情形,这时应检查应用程序全局配置文件(`app.json`)里的renderer字段值是否被错误指定为仅适用于高版本平台的选择项(skyline),而应当更改为具有广泛适配性的webview模式以便兼容更多类型的客户端环境[^4]。 ```json { "renderer": "webview" } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值