Chrome常用的启动参数以及about命令

本文介绍了Chrome浏览器常用的启动参数,包括自定义用户数据目录、禁用JavaScript等,并列举了通过地址栏输入about命令来获取系统信息的方法,如显示缓存页面、DNS状态等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chrome常用的启动参数:

--user-data-dir=UserDataDir   自定义用户数据目录 

--start-maximized   启动就最大化 

--no-sandbox   取消沙盒模式 

--single-process   单进程运行 

--process-per-tab   每个标签使用单独进程 

--process-per-site   每个站点使用单独进程 

--in-process-plugins   插件不启用单独进程 

--disable-popup-blocking   禁用弹出拦截 

--disable-javascript   禁用JavaScript 

--disable-java   禁用Java 

--disable-plugins   禁用插件 

--disable-images   禁用图像 

 

在运行过程中可以在地址栏输入如下about命令来获得一些系统信息

about:cache - 显示缓存页面,可以分析此结果进行cache管理。

note: 

    chrome的cache中的文件命名用16进制的数字来命名,不像IE那样只用用URL来命名.

    Safari用了数据库的方式来管理Cache,在Local Settings/Application Data/Apple Computer/Safari下面有2个缓存文件:

    Cache.db

    SafeBrowsing.db

 

about:dns - 显示DNS状态

about:histograms - 显示历史记录

about:network - 可以检查http的连接、应答信息

about:plugins - 显示当前安装的插件

about:version - 显示当前的版本号以及user agent信息

更多参数详见:
src/chrome/common/chrome_switches.cc中的参数定义

<think>嗯,用户想了解如何在Chromium源码中添加自定义启动参数,并使其全局可用。我需要回忆一下相关的步骤和可能涉及的代码文件。首先,我记得Chromium使用命令参数来配置各种功能,这些参数通常通过CefExecuteProcess和CefMainArgs传递。用户提到的引用[3]里提到了CefApp::OnBeforeCommandLineProcessing方法,这可能是一个关键点。 接下来,我需要考虑如何添加自定义参数。根据以往的知识,可能需要修改switches相关的头文件和实现文件,比如base/switches.h,那里定义了所有的命令行开关。添加新的参数需要在这里声明,然后在client_switches.cpp中注册,这样Chromium才能识别它们。 然后,用户可能需要修改处理命令参数的代码,确保在初始化时能够读取这些参数。这可能涉及到修改content/public/common的内容,或者是在CEF的相关处理部分,比如在CefApp的实现中覆盖OnBeforeCommandLineProcessing方法,将自定义参数添加进去。 另外,用户可能还需要确保这些参数在全局范围内可用,这意味着在源码的不同部分都能正确访问这些参数。可能需要检查参数的处理流程,确保它们被正确传递到各个模块。同时,编译Chromium的步骤也需要考虑,用户需要执行正确的ninja命令来生成新的可执行文件,如引用[1]中提到的ninja -C out\Release cronet_package。 测试也是一个重要环节,用户需要知道如何验证自定义参数是否生效。可能需要编写测试代码,或者在启动时打印参数值来确认。同时,引用[3]中提到可以通过设置CefSettings.command_line_args_disabled为true来禁用默认处理,这时候可能需要确保自定义参数仍然能被正确识别。 可能还需要考虑不同平台的处理差异,比如Windows和Linux下命令参数的解析是否一致。此外,如果参数需要影响浏览器的行为,可能还需要在相应的功能模块中添加处理逻辑,比如网络配置或渲染设置。 用户的问题还涉及到如何让参数全局可用,这可能涉及到将参数存储到全局变量中,或者在各个需要的模块中传递参数值。需要确保添加的参数在整个应用程序的生命周期内都有效,并且能够被不同的组件访问到。 总结一下,步骤大致是:定义参数开关、注册参数、修改命令行处理逻辑、编译测试,并确保全局可用。同时需要参考Chromium和CEF的文档,确保遵循正确的API使用方法。用户提供的引用[3]中的信息尤为重要,因为它指出了CEF中处理命令参数的具体方法,这可能是实现的关键所在。</think>要修改Chromium源码添加自定义启动参数并全局可用,需遵循以下步骤: ### 1. 定义命令参数开关 在Chromium源码中,首先需要在`base/switches.h`文件声明新的命令参数宏: ```cpp // base/switches.h #define kCustomArgument "custom-arg" ``` ### 2. 注册参数开关 在`content/public/common/content_switches.cc`中添加参数解析逻辑: ```cpp // content/public/common/content_switches.cc const char kCustomArgument[] = "custom-arg"; ``` ### 3. 修改CEF命令行处理 参考CEF的`CefApp::OnBeforeCommandLineProcessing`方法实现参数注入[^3]: ```cpp void MyCefApp::OnBeforeCommandLineProcessing( const CefString& process_type, CefRefPtr<CefCommandLine> command_line) { command_line->AppendSwitchWithValue(switches::kCustomArgument, "value"); } ``` ### 4. 全局参数访问 在需要读取参数的位置使用`base::CommandLine`接口: ```cpp auto* cmd = base::CommandLine::ForCurrentProcess(); if (cmd->HasSwitch(switches::kCustomArgument)) { auto value = cmd->GetSwitchValueASCII(switches::kCustomArgument); } ``` ### 5. 编译验证 执行Chromium编译命令生成新版本[^1]: ```bash ninja -C out/Release chrome ``` ### 技术要点 - 参数格式必须遵守`--argument[=value]`规范 - 使用`base::Feature`实现条件特性控制更佳 - 可通过`about:flags`界面暴露参数(需修改`chrome/browser/flag-metadata.json`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值