快速跳转
1 浏览器内核
同样是“打开一个网页”,为什么用Chrome、Edge、Safari打开,有时候看起来不完全一样?这就是浏览器内核差异造成的。
1.1 什么是浏览器内核?
简单来说,浏览器内核 是浏览器的核心引擎。它的主要工作有两件:
解析与渲染:把从网络上下载下来的HTML(网页结构)、CSS(样式)、JavaScript(动态交互)各种代码,变成可交互、有颜色、有布局、能点击的网页。
提供底层能力:管理HTTP请求、解析URL、处理Cookie、存储缓存、管理安全策略等。
内核展示网站,就像屏幕展示画面:屏幕能将视频文件中的数据通过画面展示出来,但不同厂家的屏幕表现出来实际画面细节却有差异。
浏览器 ≠ 内核,如果没有内核,浏览器只是一个空壳。举个例子,Chrome浏览器的外壳是Google做的,内核用的是Blink;Edge浏览器早期用自己的外壳+IE内核,后来换成外壳+Chromium内核。
1.2 主流浏览器内核进化史
内核的发展是一部群雄逐鹿 → 三国鼎立 → 一家独大又裂变的历史。
① 上古时代:百家争鸣
Trident(IE内核):微软开发,IE浏览器称霸90年代末到21世纪初,导致大量老旧网站只支持Trident。
Gecko:网景公司后代,Firefox浏览器使用,特点是高度标准化和扩展性强。
KHTML:KDE开源项目,Linux环境Konqueror浏览器使用。
② WebKit时代:苹果改写规则
2001年,苹果从KHTML中分支开发了 WebKit,用于Safari浏览器。它轻量、高效、符合标准。
2008年,Google基于WebKit开发了Chrome浏览器,并搭配了革命性的JS引擎 V8(编译速度快、性能极强)。
③ Blink的诞生:Google自立门户
2013年,Google为了更灵活的迭代(不受WebKit社区约束),从WebKit分支出 Blink。
今天,Blink是统治级的渲染引擎,用于 Chrome、Edge(新版)、Opera、Brave、Vivaldi 等一众浏览器。
1.3 主流浏览器内核(2026)
| 浏览器 | 内核 | JS引擎 | 备注 |
|---|---|---|---|
| Google Chrome | Blink | V8 | 全球市场份额最高,内核迭代最快 |
| Microsoft Edge | Blink | V8 | 新版已全面转向Chromium,放弃自研EdgeHTML |
| Opera | Blink | V8 | 同为Chromium生态成员 |
| Brave | Blink | V8 | 隐私保护浏览器,同样基于Chromium |
| Vivaldi | Blink | V8 | 高度可定制化的Chromium系浏览器 |
| Apple Safari | WebKit | JavaScriptCore | 苹果全系设备预装,iOS平台唯一内核 |
| Mozilla Firefox | Gecko | SpiderMonkey | 主流浏览器中唯一坚持完全自研内核 |
注:曾经广泛使用的Trident(IE内核)和Presto(旧Opera)已基本退出历史舞台。
2 基于Chromium的浏览器
2.1 产品介绍
2.1.1 Google Chrome
Chrome是全球市场份额最高的浏览器,2026年全球桌面端占有率约73.39%,在亚洲市场更高达78.29%。
特点:
- 稳定,稳定,稳定。
- 超20万扩展插件生态
- 绑定Google服务,账号信息一键同步
- 完整的DRM支持,流媒体兼容性优秀
- 主页面清爽无广告
缺点:
- 大数据分析,广告等会读取你的cookie信息(但国内google服务用不了所以无感)
- 后台服务持续消耗资源
- 国内同步功能受网络环境影响
2.1.2 Microsoft Edge
自2020年全面转向Chromium引擎后,Microsoft Edge已成为Windows 10/11用户的默认浏览器,全球桌面市场份额约10.99%,在北美市场更高达14.12%。
特点:
- 垂直标签页功能,便于高效管理大量标签(这个真没话说,Edge垂直标签真好用。现在Chrome试验版也有了,但体验没Edge舒服)
- 分屏视图支持页面并排比较
- 集锦(Collections)功能,可将图片、网页、笔记整理导出至Excel/OneNote
- 内置PDF阅读器,支持注释和高亮
- Copilot AI助手,可总结网页内容、生成图像和邮件(但我宁愿没有,而且国内用不了)
- 与微软账号绑定,只要用windows系统就自动使用系统账户进行数据同步
缺点:
- 臃肿
- 存在Microsoft遥测,隐私保护需手动调整。和Chrome一样,不过广告非常多,而且微软服务在国内能用,大数据随时陪伴
- Windows端偶现强制推广广告
2.1.3 Brave
Brave将自己定位为默认拦截广告和追踪器的隐私导向型浏览器,全球市场份额约1.36%,在北美为3.25%。
特点:
- 内置广告拦截器和追踪器拦截,开箱即用(这个真好用,还不容易被网站检测出来)
- 指纹防护功能,减少追踪熵值
- 支持Tor路由的隐私窗口,提供额外匿名性(其实也用不到)
- 由于阻止了跟踪脚本,页面加载速度比Chrome快约30%
- 内置自己的AI助手
- 垂直标签页,也非常好用
缺点:
- 加密货币BAT奖励功能等功能很多余
- 自己的搜索引擎国内也无法使用
- 曾经被指控使用自己的广告生态替换google广告生态
2.1.4 Opera
Opera以内置大量原本需要扩展才能实现的功能为特色,全球市场份额约2.21%。站长没用过,这里引用AI介绍的:
特点:
- 内置VPN(别想了国内用不了)
- 集成广告拦截器和加密货币挖矿脚本拦截
- 侧边栏集成WhatsApp、Telegram、Facebook Messenger等即时通讯工具
- 省电模式和画中画视频播放
- Opera GX版本:面向游戏玩家,提供CPU/RAM限制器、Twitch/Discord集成
缺点:
- 独立基准测试显示其比精简版Chromium更耗资源
- 所谓“免费VPN”是速度有限的代理,不能替代专业VPN服务
- 隐私记录不如Brave或Ungoogled Chromium
2.1.5 国产Chromium内核浏览器
这里自己搜吧,我全部不推荐(主要是真不想用)
2.1.6 Ungoogled Chromium
这是一个移除了所有Google服务、同步和遥测功能的Chromium分支。我用过,就是一个纯净版chrome。说实话功能需求不高的可以试试,但是相比有完整生态的其他浏览器这个功能上确实少了点东西。只能说异常纯净,速度也很快。
2.2 启动参数
Chromium/Chrome浏览器提供了数百个命令行启动参数,允许开发者、测试人员和高级用户精细控制浏览器行为。
2.2.1 启动参数使用方法
这里只讲windows上的使用方法
方法一:修改快捷方式
右键点击Chrome快捷方式,选择“属性”
切换到“快捷方式”标签页
在“目标”文本框末尾添加参数,格式为: --参数名=参数值(注意—前的空格)
点击“确定”保存
例如:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --incognito --window-size=1920,1080方法二:命令行启动
按Win + R打开运行对话框,输入带参数的命令,例如:
chrome.exe --user-data-dir="D:\ChromeProfile" --no-first-run多个参数可以同时使用,按顺序排列即可。
2.2.2 常用启动参数
1 基础运行参数
| 参数 | 说明 | 示例/备注 |
|---|---|---|
--user-data-dir=DIR | 指定用户数据目录(profile存放位置) | 分离不同用户配置,支持多实例并行运行 |
--incognito | 直接以隐身/无痕模式启动 | 不保存历史记录、缓存和Cookie |
--new-window | 在新窗口中打开指定URL | --new-window https://example.com |
--app=URL | 以应用程序模式启动(极简UI) | 隐藏地址栏和工具栏,类似PWA体验 |
--start-maximized | 浏览器启动时最大化窗口 | 适用于全屏工作场景 |
--kiosk | 启用kiosk全屏模式 | 隐藏所有UI元素,常用于信息亭、展示屏 |
--temp-profile | 使用临时配置文件 | 会话结束后自动清理,不同于隐身模式 |
2 性能与渲染参数
| 参数 | 说明 | 使用场景 |
|---|---|---|
--disable-gpu | 禁用GPU硬件加速 | 解决显卡兼容性问题、减少资源占用 |
--disable-software-rasterizer | 禁用软件光栅化 | 强制使用GPU渲染,减少CPU负载 |
--enable-gpu-rasterization | 启用GPU光栅化 | 复杂CSS/Canvas页面性能优化 |
--disable-extensions | 禁用所有扩展 | 减少内存占用,提升启动速度 |
--disable-plugins | 禁用插件 | 降低资源消耗 |
--disable-javascript | 禁用JavaScript | 提升页面加载速度,增强安全性 |
--disk-cache-size=SIZE | 设置磁盘缓存大小(字节) | 控制缓存占用空间 |
--disk-cache-dir=DIR | 指定缓存目录 | 将缓存移至内存盘或指定位置 |
3 窗口与界面参数
| 参数 | 说明 | 示例 |
|---|---|---|
--window-size=W,H | 设置窗口大小 | --window-size=1920,1080 |
--window-position=X,Y | 设置窗口位置 | --window-position=100,100 |
--hide-scrollbars | 隐藏滚动条 | 特殊页面布局需求 |
--disable-infobars | 禁用信息栏提示 | 减少自动化测试时的干扰 |
--no-startup-window | 启动时不创建窗口 | 仅运行后台进程,配合调试使用 |
4 网络与代理参数
| 参数 | 说明 | 示例 |
|---|---|---|
--proxy-server=HOST:PORT | 指定代理服务器 | --proxy-server="socks5://127.0.0.1:1080" |
--no-proxy-server | 禁用代理服务器 | 强制忽略系统代理设置 |
--proxy-auto-detect | 自动检测代理配置 | 使用PAC自动发现 |
--proxy-pac-url=URL | 指定PAC脚本地址 | --proxy-pac-url="http://example.com/proxy.pac" |
--host-resolver-rules | 自定义DNS映射 | --host-resolver-rules="MAP * 127.0.0.1" |
代理协议说明:支持HTTP、SOCKS4、SOCKS5,默认使用HTTP协议
# HTTP代理--proxy-server="http://proxy.example:8080"# SOCKS5代理--proxy-server="socks5://proxy.example:1080"# 按协议分类代理--proxy-server="https=proxy1:80;http=socks4://proxy2:1080"5 调试与开发参数
| 参数 | 说明 | 典型用途 |
|---|---|---|
--remote-debugging-port=PORT | 开启远程调试端口 | DevTools协议调试、Puppeteer控制 |
--remote-debugging-pipe | 使用管道调试 | 更安全的调试通信方式 |
--disable-web-security | 禁用同源策略 | 危险:仅用于本地开发测试 |
--allow-file-access-from-files | 允许file协议跨域 | 本地HTML文件调试 |
--allow-insecure-localhost | 允许localhost的TLS错误 | 忽略自签名证书警告 |
--enable-logging=stderr | 启用日志输出 | 诊断浏览器行为 |
--log-file=FILE | 指定日志文件 | --log-file=/tmp/chrome.log |
--v=LEVEL | 设置日志详细级别 | 1-3,数字越大越详细 |
--vmodule=MODULE=N | 按模块设置日志级别 | --vmodule=*pp=3,net/*=2 |
--js-flags=FLAGS | 传递V8引擎参数 | --js-flags="--max-old-space-size=2048" |
6 无头模式参数
| 参数 | 说明 | 示例 |
|---|---|---|
--headless | 无头模式(不显示UI) | 服务器端自动化运行 |
--headless=new | 新版无头模式 | 更完整的浏览器特性支持 |
--dump-dom | 输出DOM树 | 与--headless配合使用 |
--screenshot | 截图输出 | --screenshot=screenshot.png |
--print-to-pdf | 输出PDF | --print-to-pdf=output.pdf |
无头模式示例:
# 截图chrome --headless --screenshot=page.png https://example.com# 生成PDFchrome --headless --print-to-pdf=page.pdf https://example.com# 控制台输出DOMchrome --headless --dump-dom https://example.com7 安全与隐私参数
| 参数 | 说明 | 风险提示 |
|---|---|---|
--no-sandbox | 禁用沙箱隔离 | ⚠️ 降低安全性,仅限可信环境 |
--disable-setuid-sandbox | Linux下禁用setuid沙箱 | Docker容器等受限环境使用 |
--disable-web-security | 禁用同源策略 | 🔴 高危,仅调试用 |
--no-referrers | 不发送Referer头 | 增强隐私,可能影响部分站点功能 |
--disable-reading-from-canvas | 禁用Canvas读取 | 防止Canvas指纹追踪 |
安全警告:
--no-sandbox和--disable-web-security会显著降低浏览器安全性,切勿在日常浏览或访问不可信网站时使用。
8 实验性参数
| 参数 | 说明 |
|---|---|
--enable-zero-copy | 启用零拷贝光栅化,减少内存拷贝延迟 |
--force-gpu-mem-available-mb=MB | 强制设定可用GPU内存大小 |
--disable-features=FEATURE | 禁用特定特性 |
--enable-features=FEATURE | 启用实验性特性 |
--single-process | 单进程模式(⚠️不稳定,仅测试用) |
9 获取完整参数列表
Chrome/Chromium有数百个命令行参数,官方文档有限。可通过以下途径获取更多信息:
- 命令行帮助:
chrome.exe --help(仅显示部分基础参数) - 在线资源:访问 Peter Beverloo的Chromium参数列表(500+条,每日更新)
- 源码探索:Chrome源码中的
content_switches.cc文件
2.3 实用技巧
2.3.1 用户数据目录分离
由于浏览器可以通过启动参数来指定用户数据目录位置,因此在使用同一个浏览器程序的情况下,可以做到信息不交叉的多开。仅增加用户数据存放目录,而不会多复制一份浏览器程序本体,节省空间又好用。
核心参数就是:
--user-data-dir=路径NOTE不同路径对应完全独立的配置文件、缓存、Cookie、历史记录、扩展程序。相当于一个新装的浏览器。
步骤
首先确认你的Windows系统中Chrome浏览器安装在默认位置
比如:
C:\Program Files\Google\Chrome\Application\chrome.exe
如果找不到安装位置,可以右键点击桌面Chrome图标,选择”打开文件所在位置”。启动程序就是chrome.exe,能看到这个程序就对。
创建数据存放文件夹
在你想存放数据的地方创建一个或多个空文件夹(其实不创建通过参数直接填会自动创建,这里为了不出错和便于管理先创建)
比如:
D:\ChromeData\001D:\ChromeData\002D:\ChromeData\003创建快捷方式
方法1 右键之前的chrome.exe,点击新建快捷方式,就能得到对应的快捷方式,这个快捷方式可以随便移动,此时右键快捷方式打开属性,目标处就会自动填写chrome.exe路径。


方法2 在某个文件夹里或桌面右击空白处,点击新建->快捷方式,在弹出的对话框填入完整的chrome.exe路径(这里可以直接添加参数,后面会提到):


名字随便,点击确定就好
添加参数
之后右键创建的快捷方式打开属性,在目标一栏后面添加参数,如:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\001"第二、第三个多开浏览器就重复步骤,也是新建快捷方式然后修改目标栏:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\002""C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\003"如果是手动创建快捷方式,可以直接在“想为哪个对象创建快捷方式?”对话框中输入带参数的完整指令,同上:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\001"
使用
创建好后双击快捷方式就能使用了。此时在保存用户数据的目录内会自动生成空白配置文件。
—profile-directory参数
--user-data-dir:指定一个完整的数据存储位置,相当于创建了一个全新的浏览器安装环境--profile-directory:在同一个—user-data-dir内,指定使用哪个具体用户文件夹
前者创建的是多个完全独立的数据仓库,后者是在同一个仓库内创建多个独立房间。
有时候想在同一个浏览器环境(同一套设置、插件、脚本等)内多开可以使用,相当于同一个软件多个账号登录。但cookie数据等可能会相互影响(没有实测)
使用方式同上,这里直接给完整示例:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1"结合起来就是:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\001" --profile-directory="Profile 1""C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\001" --profile-directory="Profile 2"意思就是在同样使用“D:\ChromeData\001”数据目录的情况下,分别使用Profile 1和Profile 2用户登录(本地用户,不是google账户)
2.3.2 浏览器指定代理
同样地,通过参数--proxy-server可以手动设置浏览器的代理地址,方法与上面类似。
比如v2rayN参数设置中本地混合监听端口默认为10808或10809(这里假设为10809)
则示例为:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="http://localhost:10809"其中localhost代指本机地址,也可以使用127.0.0.1即http://127.0.0.1:10809。一般使用http,所有节点都支持http但不是什么节点都支持https。如果你很在意数据安全,我相信你节点一定会开启TLS,那就可以使用https,但其实http节点带混淆加密的协议也是很安全的,比如vmess。
WARNING小白不要用socks5协议代理
因此根据以上提到的各种参数,我们就能很好地实现场景和代理隔离,比如平时默认使用的浏览器快捷方式启动参数设置为:
"C:\Program Files\Google\Chrome\Application\chrome.exe"而需要走代理的设置为:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData\001" --proxy-server="http://localhost:10809"需要走代理但是需要两个场景的根据需要添加--profile-directory参数或者--user-data-dir参数。
2.3.3 浏览器多开管理
根据上面的技巧,当我们需要分离的环境越来越多时,我们就需要一个方便的管理面板而不是一大堆快捷方式了。
为什么会需要这么多分离多开浏览器环境?
很多网站通过读取cookie和缓存来限制你登录多个账号,就算算上无痕模式也只能多开一个账号。另外很多网站账号都是相互关联的,可能一个网站账号被标记了某个标签,用同一个浏览器环境登录的其他网站的账号可能也会被打上同一个标签。另外,来回切换账号也是很麻烦,想在这个环境下使用同一套账号而在另一个环境使用另一套就可以设置多开。
通过参数还可以详细设置各种其他设置,以此可以实现浏览器指纹的更改,从而达到类似指纹浏览器的效果(虽然效果没那么好,但市面上所有好用的指纹浏览器都是要收费的)
如果你没有太大的需求,这里推荐站长使用的AutoHotkey脚本工具。好处是可以直接编译为exe文件,不需要什么其他编程环境,windows原生支持,而且有可视化UI,占用性能非常小,脚本编写很简单直接问AI就行。
功能本质上就是通过UI展示几个按钮,提前编写好按钮按下后会执行什么指令。
如果你chrome浏览器的位置与我一样都在”C:\Program Files\Google\Chrome\Application\chrome.exe”,而且不想自己写脚本编译,可以直接用我编译好的exe文件:
用户数据保存目录为D:\software\Google user data,里面有四个独立档案文件夹,不会与你平时使用的默认档案冲突
或者使用 py 脚本,也是很好用,但需要电脑装过 python 环境,这个自行让 AI 编写,也很简单。这里为了方便,我写了一个 python 脚本并编译为 exe 可执行程序,没有 python 环境也能用,虽然可能会有一丢丢 bug 但是也够用了,而且兼容性更强,不管什么 Chromium 浏览器什么路径都没问题。下载链接:
注意事项:
- 脚本是站长借助AI辅助编写的可能不是很优雅
- 自己写的脚本编译的exe文件,可能会报毒(我这没有报)
- 新增配置后在exe文件同级目录会自动生成
browser_configs.json文件,所有的配置信息全在里面,删除、修改文件名、移动位置后exe文件便无法读取配置信息。需要保证exe文件与json文件在同一个文件夹内。 - 你可以将json文件备份,想恢复备份的话只要把名字恢复为
browser_configs.json并与exe文件放一起就可以