解决浏览器出问题的终极奥义
编辑:浏览器知识导读
常言道,电脑出问题了怎么办?重启电脑解决90%的问题,重装电脑解决99%的问题,重买电脑解决100%的问题。这是多么让人清醒的名言警句啊!可如果要是软件出问题了,该怎么办呢?
同理,重启软件解决90%的问题,重装软件解决99%的问题,换用同类软件解决100%的问题。可问题是,重启、重装、换用谁不会呢?能用这三个方法解决的问题,根本就不是问题。那么,解决问题的终级奥义是什么?
一、解决问题的终级奥义
解决问题的终级奥义是分解问题。把大问题分解成一个个小问题,把复杂问题分解成一个个简单问题,逐一解决分解后的问题,最终解决最开始要解决的问题。
早在两宋时期,海上贸易空前繁盛,船只运输的安全性备受关注。水能载舟,亦能覆舟。船虽然能自如地漂浮在水面上,但普通船只一旦船体破损,水入船舱,如不能及时堵住漏洞,最终都会沉没。如果船体破损,在内陆河流中有时还来得及靠岸修理;如果是在茫茫大海上,就只能坐以待毙。正是出于对航行安全性的担忧,促使中国人发明了「水密隔舱」技术。【引用自中国数字科技馆】
(水密隔舱 ↑)
水密隔舱技术被认为是我国的第五大发明,技术领先于西方1000多年,在现代船舶设计中依然占有十分重要的地位。当时世界上最大的轮船,泰坦尼克号也采用了水密隔舱技术,有着“永不沉没”的美誉 。然而不幸的是,在它的处女航中,泰坦尼克号便撞击冰山沉没。
按理说,有水密隔舱技术,再怎么撞也不至于沉没,可能泰坦尼克号做为当时世界上最大的轮船,船长无比骄傲,轮船高速行驶,撞击冰山,把所有水密隔舱都划破了,有学者计算,只要速度稍微慢一点,泰坦尼克号都不至于沉入海底,我们可以意识到水密隔舱对于大船制造是有多么的重要。
(泰坦尼克号沉没演示图 ↑)
也就是说,解决问题最好方法是在事先设计时,将可能发生的问题分解为多个部分,以使得它不会因为一个小问题再导致全盘出问题。
二、软件上的水密隔舱思维
水密隔舱的思维,在大型软件的设计上也同样得到了体现,比如浏览器上的沙盒安全技术就是如此。除此之外,大型软件的数据储存也同样运用了水密隔舱思维,比如浏览器不同模块功能的数据被储存在多个文件上,这样一来,如果某个地方出错,我们只需要覆盖出错了的数据文件就行了。下面是 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 : | 用户首选项。(限制某些用户首选项被修改) |
2、Chrome 浏览器:
在浏览器地址栏输入 chrome://version 即可查看配置文件所在位置。
[ Extensions ]: | 拓展文件夹。 |
[ IndexedDB ]: | 拓展数据文件夹。 |
[ Local Extension Settings ]: | 拓展数据文件夹。(本地) |
Bookmarks: | 当前使用中的书签。 |
Bookmarks.bak: | 自动备份的书签。 |
Cookies: | Cookies 存储。 |
Favicons: | 书签图标。 |
Login Data: | 浏览器登录。 |
History: | 浏览记录和自动完成历史。 |
Preferences: | 用户首选项。 |
Shortcuts: | 自定义快捷键。 |
Web Data: | 搜索引擎列表。 |
三、浏览器故障排除及更新方法
1、浏览器故障排除方法:
因为浏览器功能和数据库的相对独立,当浏览器出问题时,我们可以通过尝试禁用一些拓展或者脚本进行排查,方法如下:
(1),禁用用户样式类拓展,比如 Stylish,xStyle,Stylus 等。
(2),禁用用户脚本类拓展,比如 ViolentMoneky,Tampermonkey,Greasemonkey 等。
(3),禁用重定向类拓展,比如 Redirector,Header Editor,Modify Headers 等。
(4),禁用广告过滤类拓展,比如 Adblock Plus,Ublock Origin,广告净化器 等。
(5),禁用代理类拓展,比如 Proxy SwitchyOmega,Smart Proxy 等。
(6),如果都不行,则尝试禁用所有浏览器拓展。
(7),如果是 Firefox 浏览器,则还可尝试禁用 UC 脚本,可将 chrome 文件夹名称改成其他的,然后重启。
2、Firefox 更新及转移方法:
奶酪每次发布新版本的 RC Firefox 和 RC Chrome 浏览器时,经常有人询问更新方法,通常全新下载是肯定没有问题的。但如果你有自己的修改内容,运用水密隔舱思维,只需要修改其中部分的文件就可以了。
如果更新内容较少:(即如果有声明是小幅度更新)
点击“火箭图标—>更新修复—>自动更新” 即可自动更新,无需下载安装包。奶酪写的这个自动更新程序,也正是运用水密隔舱思维,对修改文件进行指定更新。
如果更新内容较多:(即如果有声明建议全新下载)
(1),下载解压新版本的压缩包,登录 Firefox 帐号,书签就会自动同步,拓展和用户脚本建议手动更新,同步容易出错。
(2),转移旧版书签和历史记录,覆盖 places.sqlite 到新版的同名文件。
(3),转移后的书签图标是空白的话,覆盖 favicons.sqlite 到新版的同名文件。
(4),转移旧版搜索引擎列,覆盖 search.json.mozlz4 到新版的同名文件。
(5),如果你有自己的内容修改,建议备份保存修改内容,然后再重新添加到新版本里去。
3、Chrome 更新及转移方法:
当你登录 Google 帐号时,Chrome 浏览器会询问当前配置是否是你的配置。选否的话,当前配置就会清除,选是的话,当前配置会并入你的帐号中。
(1),转移旧版书签,覆盖 Bookmarks 到新版的同名文件。
(2),转移后的书签图标是空白的话,覆盖 Favicons 到新版的同名文件。
(3),转移旧版搜索引擎列,覆盖 Web Data 到新版的同名文件。
(4),转移旧版快捷方式,覆盖 Shortcuts 到新版的同名文件。
(5),转移旧版用户设置,覆盖 Preferences 到新版的同名文件。
(6),如果你有自己的内容修改,建议备份保存修改内容,然后再重新添加到新版本里去。
结尾
1、本文由 奔跑中的奶酪 原创创作,欢迎 打赏,欢迎转载,但要注明出处,欢迎订阅关注,欢迎留言评论。
2,欢迎关注奶酪 公众号(ID: runningcheese01)订阅博客里没有的内容,以及奶酪所有原创资源下载。
3,欢迎订阅我的 “奶酪书签专业版”。(15年沉淀,超过3000多个分类井条有序的好用实用网站 html 书签)
加载全部内容