Chrome研究中心
你可能不知道的Google Chrome命令行参数

关于Google Chrome命令行参数(英文叫Google Chrome Command line switches),是Chrome为了实现实验性功能、方便调试、延伸选项而做的特殊功能,虽然很多软件都提供了命令行参数的使用方法,但是像Chrome这样有近千条参数的还未曾见过。从2008年至今,很多人介绍过Chrome命令行参数,但是由于Chrome更新飞速,短短时间已经走过35个稳定版本,很多参数已经失效,又有很多新参数不断补充进来。
今天七星工程师挑选了一些比较新的、有意思的、你可能不知道的参数一起研究一下,有不准确的地方欢迎大家拍砖。
观察到的已失效的命令行参数:
--enable-instant-extended-api
--extensions-on-chrome-urls
--single-process(这个曾经可以用来省内存啊,别了!)
已经失效的就不纠结了,随着技术的进步会有越来越多新功能等我们去探讨。

几个有意思的参数:

1. --always-authorize-plugins:总是允许运行所有插件。
这个参数在Chrome32正式版之后非常有用。因为从Chrome 32正式版开始,Google宣布正式停止对基于NPAPI开发的插件的支持,这样一来,几乎国内之前的所有插件都无法顺利调用,必须手动点击弹出警告条上的运行许可才能通过,如图所示

否则基于此插件的功能,就会无法正常使用。尤其对于支付宝付款和视频播放这种功能,这个参数非常有用。

2. --host-rules="MAP *.qixing123.com 192.168.1.139" 映射host *.qixing123.com(可更改)到192.168.1.139(可更改)。
这个参数通常用在网站编写和测试上,网站开发者常常需要修改host,以运行测试环境下的网站内容,每次都要修改Windows\System32\drivers\etc里的host文件,麻烦至极,有了这个参数就方便多了。而且他不止可以使用作为通配符,还可以使用EXCLUDE 排除某些个例,例如"MAP *.qixing123.* 127.0.0.1 EXCLUDE down.qixing123.com",是不是很方便?虽然这不是一个很新的参数,但作为网站编辑者真是很有用的一个参数。

3. --enable-offline-mode 要读取的网络资源若无法访问,则从已过时的现有缓存条目中读取。
--enable-offline-auto-reload 在浏览器离线时未能加载的网页将在浏览器重新在线后自动重新加载。
这两个参数常常一起使用,以达到使用Chrome离线浏览或离线使用基于Chrome的应用程序的目的。有些人常常会遇到断网的时候需要查询浏览过的资料,或者用一些APP做无需在线的操作,这在34稳定版之前的Chrome是无法实现的。对此新功能,大家熟知程度还不够,因此应用场景不是很多,但是相信未来就会被大家接受和认可,并基于此功能制作出更多有用的应用程序来。

4. --enable-easy-off-store-extension-install 使Chrome更方便的安装非官方商店的扩展。
这个参数或许很多人知道了,不过还是属于一个较新的功能,而且非常非常有用。最主要的原因是谷歌Chrome官方商店在国内实在是太难访问了,有人说可能是由于谷歌的服务器太差,也有人说是别的原因,不过CRX扩展文件还是很容易在国内找到的。有了这个参数,就可以随意在线安装各大网站提供的扩展了,拖拽CRX文件也不需要到扩展管理页面,随便哪个页面都可以,easy了吧。

5. --save-page-as-mhtml 保存网页为mhtml格式。

mhtml是一个把html、JS、CSS和图片混合在一起、可以用一个文件存储当前网页全部信息的格式,最初由微软公司提出,学名叫聚合HTML文档。但是大家都知道,谷歌默认并不提供网页保存为这种文件格式,并非是谷歌要和微软对着干,其实是Webkit内核与Trident内核解决方法存在差异。因此使用此参数时,原来的保存为html单文件和html+文件夹的形式便无法同时提供。七星工程师本人更倾向于保存为mhtml这种格式。

6. --out-of-process-pdf 可使用进程外的pdf插件。
相信有不少人已经习惯了用Chrome在线阅读pdf文件。Chrome默认使用进程内PDF文件阅读器,会给每一个PDF文件分配一个进程,此参数允许插件配合扩展来实现在一个进程内阅读多个PDF文件,阅读单个文件的时候资源占用的区别并不大:



同时阅读多个PDF的时候可以看到明显的差距:



经常使用Chrome在线阅读PDF文件的朋友们,知道怎么选择了吧。

7. --enable-stacked-tab-strip 允许标签过多的时候启用堆叠,而非一直缩小标签长度。
正常情况下Chrome在标签过多时,会一直缩小标签长度,直到几个像素。这样一来我们无法看到每个标签的标题,甚至连当前选中了哪个标签都看不清。



对比一下,使用了这个参数之后的效果,喜欢哪一个,自己去设置吧。



Google工程师们常常对于一些正处于开发阶段或测试阶段的功能,提供相应的启动参数来便于开发和测试,当时机成熟时可能会作为正式功能在Chrome稳定版中进行发布,当然也可能效果不好永远无法与用户见面。
Chrome所设计的这些参数给大家提供了更多功能的尝试和样式的选择,此文仅为抛砖引玉,更多更好玩的功能留待大家自己去发现,也欢迎有兴趣的朋友到七星浏览器论坛进行交流,在此感谢七星浏览器团队提供素材与技术支持。原文地址:http://www.qixing123.com/tech/commands.php