分类 Web 下的文章

Lunbuntu 22.04.2,昨晚升级安装系统升级包后,Chrome浏览器渲染页面不正常了。具体是,页面背景色正常,布局正常,也能显示一些布局样式,但完全不显示相关文字,甚至有些图片也不能显示。

尝试Shell里直接运行/opt/google/chrome/chrome,会弹出以下信息:

MESA-INTEL: warning: Haswell Vulkan support is incomplete

应该是显卡与其驱动,不支持Chrome的新特性吧。

于是找到这个文章:Linux: Chrome Starts Very Slowly After Enable Nvidia Driver

根据文章的相关内容,尝试出三个可以正常渲染页面的Chrome浏览器的启动参数(如下)。

启动参数说明效果
--disable-gpu禁用GPU硬件加速。正常
--disable-gpu-driver-bug-workarounds禁用各种GPU驱动程序错误的解决方法。正常
--enable-features=Vulkan开启Vulkan特性可以渲染页面,但有些图片显示为黑块

最后的解决方案:

  1. 选用启动参数--disable-gpu-driver-bug-workarounds
  2. 修改/usr/bin/google-chrome文件,在最后一行exec -a "$0" "$HERE/chrome" "$@"中添加启动参数。即该文件的最后一行修改为:
#exec -a "$0" "$HERE/chrome" "$@"
exec -a "$0" "$HERE/chrome" --disable-gpu-driver-bug-workarounds "$@"

另外,关于Chrome浏览器的各个启动参数,有个文章整理得很详细:List of Chromium Command Line Switches

前几天打开Twitter,发现Chrome(版本80)的地址栏右边出现了十字图标,并提示“Install”。点击安装后,桌面和Chrome Apps都新增了Twitter图标。再双击该图标,就会以窗口形式打开Twitter。窗口像本地应用,但细看,只是没有了地址栏的Chrome窗口。好奇之下,发现这是PWA的最新形态!

Progressive Web Apps,简PWA,就是把网页应用化,或者是利用网页技术开发的应用。这家伙的好处是,对于绝大部分的网站来说,加几个文件就在原来网页的基础上,完成了客户端的开发。第一次看到这个技术提案时,非常激动,简直就是我们网站的救星,不用考虑如何开发iOS和Android的应用了。但其困难的地方是,统一标准和普及的问题。虽然得到越来越多浏览器的支持,但是Safari不太积极。

关于PWA相关的知识和教程,都可以在这里找到:
Progressive Web Apps
https://web.dev/progressive-web-apps/

比较齐全的PWA资源:
awesome-pwa
https://github.com/hemanth/awesome-pwa

收集了一堆PWA的网站:
https://pwa.rocks/

值得推荐的是,对PWA技术很积极的Twitter:
https://twitter.com/

注意的是,要使PWA被浏览器识别为可安装,需要一个正方形的图标。这个在做入门实例时折腾了很久才发现。

后面还想试试结合WASM,看看能否做出更好玩的东西~