奔跑中的奶酪

浏览器老是出错怎么办?我来告诉你!

导读

浏览器老是出错怎么办?我来告诉你!

假如电脑出问题了,该怎么办?我听过最为简洁的解决方法是:重启电脑解决90%的问题,重装电脑解决99%的问题,重买电脑解决100%的问题。

这是多么让人清醒的名言警句啊!那如果要是浏览器出问题了,该怎么办呢?同理,我们可以推出结论:重启浏览器解决90%的问题,重装浏览器解决99%的问题,换用同类浏览器解决100%的问题。可问题是,事情都是有代价的,这些解决方法越往后面,要付出的代价就越大,所以这个值得讨论问题。

一、分解问题可以将问题简单化

两宋时期,我国海上贸易空前繁盛,船只运输的安全性备受关注。水能载舟,亦能覆舟,船虽然能自如地漂浮在水面上,但船只一旦出现破损,水入船舱,如不能及时堵住漏洞,最终就会沉没。

在内陆河流的船只,如果船体破损还可能来得及靠岸修理,但如果是在茫茫大海上,就只能坐以待毙。正是出于对航行安全的担忧,中国人民发明了「水密隔舱」技术。——【引用自中国数字科技馆】

水密隔舱

(水密隔舱 ↑)

水密隔舱技术被认为是我国的第五大发明,它在现代船舶设计中依然占有十分重要的地位。泰坦尼克号作为当时世界上最大的轮船,有着“永不沉没”的美誉,也同样采用了水密隔舱技术,然而不幸的是,在它的第一次航行中,泰坦尼克号主撞击冰山沉没了。

倒不是说水密隔舱技术不起作用了,而是泰坦尼克号做为当时世界上最大的轮船,船长无比骄傲,轮船高速行驶撞击冰山,把所有的水密隔舱都划破了。有学者计算,只要速度稍微慢一点,即使 4 个水密隔舱都被划破,泰坦尼克号也不至于沉入海底,可偏偏 5 个全划破了。

我们可以意识到,水密隔舱对于大型船只的建造是多么的重要。

泰坦尼克号沉默

(泰坦尼克号沉没演示图 ↑)

水密隔舱是一种将问题分解的思维,它可以将大问题分解成一个个小问题,将复杂问题分解成一个个简单问题,将整体问题分解成一个个局部问题。这样一来,一旦出现问题,也不至于牵一发而动全身。

二、软件里的“水密隔舱”

也就是说,在设计事物时,我们应该将可能发生的问题分解为多个部分,使它不会因为一个小问题而导致全盘出错。

在大型软件的设计上,水密隔舱的思维也同样得到了运用。比如浏览器不同功能模块的数据,会被储存在不同的文件上,如果那个地方出错,我们只需要修复出错的数据文件就可以了。

下面是 Firefox 和 Chrome 常见数据的保存位置。

1、Firefox 浏览器:

在浏览器地址栏输入 about:profiles 即可查看配置文件所在位置。

[ bookmarkbackups ]: 自动备份的书签文件。
[ chrome ]: UC脚本文件夹。
[ extensions ]: 拓展文件夹。
[ storage]: 拓展数据文件夹。

places.sqlite : 书签、下载记录和浏览记录。(可以用来恢复书签)
favicons.sqlite: 书签图标。(可以用来恢复书签图标)
key4.db 和 logins.json: 浏览器登录。(如果分享配置给他人,一定要删除)
permissions.sqlite 和 content-prefs.sqlite: 网站权限设置。(比如网站的弹窗、缩放级别等)
search.json.mozlz4: 搜索引擎列表。
formhistory.sqlite: 自动完成历史。(搜索框的输入历史)

cookies.sqlite: Cookies 存储。(网站首选项和登录状态等信息)
webappsstore.sqlite: DOM 存储。(比 Cookies 更大更安全的储存信息)
handlers.json: 安全证书设置。
sessionstore.jsonlz4: 下载动作设置。(打开某个文件时 Firefox 应该做的动作)
xulstore.json: 会话保存。(保存当前打开的标签页)
cert9.db: 自定义工具栏。(窗口和工具栏的位置、大小)
prefs.js: 用户首选项。(保存修改过的用户首选项设置)
user.js : 用户首选项。(限制某些用户首选项被修改)

Firefox 配置文件说明

2、Chrome 浏览器:

在浏览器地址栏输入 chrome://version 即可查看配置文件所在位置。

[ Extensions ]: 拓展文件夹。
[ IndexedDB ]: 拓展数据文件夹。
[ Local Extension Settings ]: 拓展数据文件夹。(本地)

Bookmarks: 当前使用中的书签。
Bookmarks.bak: 自动备份的书签。
Cookies: Cookies 存储。
Favicons: 书签图标。
Login Data: 浏览器登录。
History: 浏览记录和自动完成历史。
Preferences: 用户首选项。
Shortcuts: 自定义快捷键。
Web Data: 搜索引擎列表。

Chrome 配置文件说明

三、浏览器升级和故障排除方法

奶酪每次发布新版本的 RC Firefox 和 RC Chrome 浏览器时,被问得最多的问题是,如何在更新浏览器的同时保留原来的数据,所以我觉得很有必要细说一下。

1、Firefox 升级方法:

(1),登录 Firefox 帐号,书签就会自动同步,拓展和用户脚本建议手动更新,同步容易出错。
(2),转移旧版书签和历史记录,覆盖 places.sqlite 到新版的同名文件。
(3),转移后的书签图标是空白的话,覆盖 favicons.sqlite 到新版的同名文件。
(4),转移旧版搜索引擎列,覆盖 search.json.mozlz4 到新版的同名文件。
(5),如果你有自己的内容修改,建议备份保存修改内容,然后再重新添加到新版本里去。



3、Chrome 升级方法:

(1),转移旧版书签,覆盖 Bookmarks 到新版的同名文件。
(2),转移后的书签图标是空白的话,覆盖 Favicons 到新版的同名文件。
(3),转移旧版搜索引擎列,覆盖 Web Data 到新版的同名文件。
(4),转移旧版快捷方式,覆盖 Shortcuts 到新版的同名文件。
(5),转移旧版用户设置,覆盖 Preferences 到新版的同名文件。
(6),如果你有自己的内容修改,建议备份保存修改内容,然后再重新添加到新版本里去。



3、浏览器故障排除方法:

因为浏览器功能和数据库的相对独立,当浏览器出问题时,我们可以通过尝试禁用一些拓展或者脚本进行排查,方法如下:

(1),禁用用户样式拓展,比如 Stylish,xStyle,Stylus 等。
(2),禁用用户脚本拓展,比如 ViolentMoneky,Tampermonkey,Greasemonkey 等。
(3),禁用重定向拓展,比如 Redirector,Header Editor,Modify Headers 等。
(4),禁用广告过滤类拓展,比如 Adblock Plus,Ublock Origin,广告净化器 等。
(5),如果都不行,则尝试禁用所有浏览器拓展,可以分批禁用。
(6),如果是 Firefox 浏览器,则还可尝试禁用 UC 脚本,可将 chrome 文件夹名称改成其他的,然后重启。

结尾

1、本文由 奔跑中的奶酪 原创创作,欢迎 打赏,欢迎转载,但要注明出处,欢迎订阅关注,欢迎留言评论。
2,欢迎关注奶酪 公众号(ID: runningcheese01)订阅博客里没有的内容,以及奶酪所有原创资源下载。
3,欢迎订阅我的 “奶酪书签专业版”。(15年沉淀,超过3000多个分类井条有序的好用实用网站 html 书签)

注:本文由 奔跑中的奶酪 作者:奔跑中的奶酪 发表,其版权均为作者所有,如需转载,请注明作者名字以及文章来源。
13
avatar

发表评论