Skip to content

FBro 指纹浏览器模块

[🕒 预计 10 分钟] | 难度:进阶

FBro 模块通过隔离的 C ABI 桥接层使用 FBro/FBrowser(CEF 135 x64),支持进程内嵌入、独立进程嵌入、独立顶层窗口三种宿主模式,并提供浏览器管理器、会话隔离、指纹配置(部分能力属于 VIP 指纹模块,需有效授权)与自动化联动能力。

项目说明
模块 IDlingbuilder.fbro.browser(另含 FBro 事件 / 会话 / 传输 / 自动化 / 受管对象 / 高级网络 / VIP 指纹等子模块)
设计器控件FBro指纹浏览器
SDK 依赖FBro 环境 SDK(CEF 135 x64,体积大,首次构建时按需下载)
平台Windows x64(MSVC 工具链)

启用模块与 SDK 下载

  1. 在活动栏「模块」页安装并启用 FBro指纹浏览器模块(见安装与管理模块)。
  2. 首次在项目中使用该模块构建(F5)、运行、原生预览或导出工程时,IDE 会弹出安装对话框,说明 SDK 名称、版本与体积,下载完成并校验 SHA-256 后自动继续。
  3. 下载失败、代理配置、完全离线安装见 SDK 按需下载

设计器控件

在窗口设计器工具箱的模块分组中找到 FBro指纹浏览器 控件,拖到窗口上即可。窗口创建时,运行时会自动按设计器属性创建全部 FBro 浏览器控件,然后才触发「创建完毕」事件。

快速上手

text
包 FBro演示
使用 Win32窗口基础模块
使用 FBro指纹浏览器模块

类 MainWindow : 窗口
公开
  事件 _MainWindow_创建完毕()
    FBro_导航(FBro浏览器1, "https://www.baidu.com")
  结束
结束类

绑定事件(控件参数是裸 controlRef,处理器参数用 &处理器名):

text
绑定结果 = FBro_绑定事件(FBro浏览器1, "新窗口打开前", &处理新窗口)
结束

事件 处理新窗口()
    目标地址 = FBro_取事件字段(FBro浏览器1, "target_url")
    FBro_设置事件结果(FBro浏览器1, 2)
    调试输出(目标地址)
结束

事件系统要点:

  • 事件名可使用中文名、官方英文名或登记的旧别名,运行时会归一化到稳定事件 ID;公开可绑定事件共 89 项
  • FBro_取事件数据 返回当前 UTF-16 JSON 事件包,FBro_取事件字段 读取单个字段。
  • 复杂同步响应使用 FBro_设置事件响应JSONFBro_设置事件结果FBro_设置事件返回文本 用于常见动作和文本返回值。
  • 延迟决策先用 FBro_取事件延续 取得受管延续句柄,再调用 FBro事件_完成延续FBro事件_取消延续;延续只能完成一次。
  • 高频事件可用 FBro_设置事件采样率 调整每秒投递次数,0 表示暂停该事件。

获取资源响应(公开元数据)

可以绑定 资源响应到达OnResourceResponse)和 资源加载完成OnResourceLoadComplete)观察页面资源请求。处理器中使用 FBro_取事件字段 读取当前公开事件字段,例如:

text
绑定结果 = FBro_绑定事件(FBro浏览器1, "资源响应到达", &处理资源响应)

事件 处理资源响应()
    资源地址 = FBro_取事件数据(FBro浏览器1)
    状态码 = FBro_取事件字段(FBro浏览器1, "statusCode")
    类型 = FBro_取事件字段(FBro浏览器1, "mimeType")
    调试输出(资源地址, 状态码, 类型)
结束

资源加载完成 还可读取 statusstatusCodereceivedBytes。当前公开用户接口只承诺这些脱敏元数据,不直接向 .lcpp 暴露 CefResponse 响应正文或响应头对象;正文读取、响应过滤器和响应替换只有在对应版本公开 binding、受管句柄和安全示例均确认后才能使用。演示应使用自有测试域,不记录 Cookie、令牌、代理凭据或敏感响应内容。

修改资源响应内容(非 VIP 查找替换)

无需 FBro VIP 授权,即可对浏览器之后加载的全部资源正文做查找替换:

text
绑定结果 = FBro_绑定事件(FBro浏览器1, "浏览器创建完成", &浏览器1_创建完成)

事件 _窗体_创建完毕()
    FBro_替换资源响应文本(FBro浏览器1, "原始价格", "会员价格")
结束

事件 浏览器1_创建完成()
    FBro_导航(FBro浏览器1, "https://www.example.com/")
结束
  • FBro_替换资源响应文本(控件名, 查找内容, 替换内容):按 UTF-8 字节流式查找替换,二进制安全;替换内容为空表示删除查找内容;重复调用以最后一次为准。
  • FBro_清除资源响应文本替换(控件名):移除替换配置,之后加载的资源恢复原始正文。
  • 只修改响应正文,不改变响应头和状态码;对已加载页面不生效,重新导航即可见效。
  • 时序提醒:创建完毕 事件内浏览器尚未就绪,FBro_导航 请放在 浏览器创建完成 处理器中调用。
  • 需要按地址整页替换响应(含响应类型)时,使用 FBro_替换资源响应内容 / FBro_替换资源响应文件,该族命令需要 FBro VIP 授权。

浏览器管理器

浏览器管理器_* 系列命令(36 条)负责多浏览器实例的编排:实例列表、页面选项卡管理、地址栏 / 详情控件 / 进度条绑定(均为 controlRef 裸控件引用)、工作区键隔离、按站点清除数据(含 Cookie)等。适合「一个界面管理多个浏览器实例」的工具型软件。

与自动化模块联动

FBro 命令面向内嵌浏览器的进程、窗口、HWND 与宿主生命周期控制;协议级页面自动化交给 CDP 模块——通过 FBro_取调试端口 / 浏览器外壳_取当前调试端口 取得调试地址后,CDP 模块即可连接 LingBuilder 内嵌 FBro 浏览器,实现取页面数据、点击、监听等自动化操作。

FBro_取调试端口 对三种宿主模式都有效:独立进程模式返回 Host 预留的端口;进程内模式在生成程序初始化 FBro 运行时时,按控件 enableDevTools 属性(缺省启用)决定是否预留本机回环端口并启用 CEF 远程调试——任一进程内控件启用即开启,全部关闭则不预留(CEF 的调试端口只在初始化时生效,无法事后补设或关闭,因此没有运行时设置端口的命令)。返回 0 表示尚未初始化、未启用开发者工具或端口预留失败。调试端口只在本机回环使用,不要暴露到公网。

常用命令参考

命令说明
FBro_创建(控件名)按设计器属性创建指定 FBro 浏览器;空控件名创建当前窗口全部 FBro 控件(窗口创建时运行时已自动调用)
FBro_导航(控件名, 地址)导航到目标地址
FBro_刷新(控件名) / FBro_停止(控件名)刷新 / 停止加载
FBro_后退(控件名) / FBro_前进(控件名)历史记录导航(可先用 是否可后退/前进 判断)
FBro_是否加载中(控件名)查询加载状态
FBro_取缩放级别(控件名) / FBro_设置缩放级别(控件名, 级别)读取 / 设置宿主缩放
FBro_绑定事件(控件名, 事件名, &处理器名)绑定中文事件处理器
FBro_打开谷歌原生UI浏览器(控件名, 地址)基于当前实例会话创建独立的 Chrome Runtime 顶层浏览器
FBro_关闭(控件名)关闭并释放实例
FBro_取调试端口(控件名)取得内嵌浏览器的 CDP 调试端口

完整命令清单与各子模块接口在 IDE「模块详情 → 接口 → 模块公开信息」中查看。

依赖与平台限制

  • 仅支持 Windows x64(MSVC 工具链)。
  • FBro 环境 SDK 不随安装包内置,首次使用按需下载;SDK 的 include / lib / runtime / bridge 必须来自同一套发布包,不要只替换单个 DLL。
  • VIP 指纹相关能力属于 FBro VIP 指纹模块,需要有效授权后使用。
  • 桥接层对 UTF-8 / UTF-16 缓冲区生命周期有约束,事件字段一律通过 FBro_取事件字段 等受管接口读取,不要缓存底层指针。

相关页面