应用程序 TCEFApplication
cef.NewApplication(disableRegisDefaultEvent …bool)
描述
创建主进程和子进程都需要的对象,每个进程的应用配置都是一样的。
功能函数
StartMainProcess
StartMainProcess() bool
返回 bool
启动应用主进程,启动成功后
- 创建内部IPC事件监听,GO绑定JS变量,IPC初始化
- 如果是多进程方式则继续启动子进程,单进程方式只启动一次
StartSubProcess
StartSubProcess() bool
返回 bool
如果设置了browseSubprocessPath独立子进程,在子进程程序中需要调用该函数,而不是StartMainProcess
Free
应用程序执行结束/关闭一搬会调用该函数销毁
事件函数
如果设置了,应用程序会触发事件。框架默认设置一些事件。
SetOnContextCreated - 默认注册
SetOnContextCreated (func(browser *ICefBrowser, frame *ICefFrame, context *ICefV8Context) bool)
主进程、和子进程初始化时回调的事件
返回 bool: false时创建渲染进程IPC及变量绑定
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
ICefV8Context | 初始化的上下文对象 | - |
SetOnWebKitInitialized
SetOnWebKitInitialized(func())
初始化设置全局回调 该事件函数没做特殊处理
参数 - 无
SetOnProcessMessageReceived - 默认注册
SetOnProcessMessageReceived(func(browser *ICefBrowser, frame *ICefFrame, sourceProcess CefProcessId, message *ipc.ICefProcessMessage) bool)
进程间通信处理消息接收 - 渲染进程
返回 bool: 消息接收之后处理返回结果
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
CefProcessId | 进程ID - CefProcessId 类型 | 实际上是 0主进程 1渲染进程 |
ICefProcessMessage | IPC进程消息 | IPC通信使用的消息对象 |
SetOnBeforeChildProcessLaunch - 默认注册
SetOnBeforeChildProcessLaunch(func(commandLine *TCefCommandLine))
启动子进程之前自定义命令行参数设置
作用 - 主进程
参数
字段 | 描述 | 备注 |
---|---|---|
TCefCommandLine | 命令行参数设置对象key-value | - |
SetOnBrowserDestroyed
SetOnBrowserDestroyed(func(browser *ICefBrowser))
浏览器销毁回调事件
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 销毁的浏览器对象 | - |
SetOnLoadStart
SetOnLoadStart(func(browser *ICefBrowser, frame *ICefFrame, transitionType TCefTransitionType))
页面开始加载
作用-渲染进程
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
TCefTransitionType | 过滤类型 - TCefTransitionType 类型 | - |
SetOnLoadEnd
SetOnLoadEnd(func(browser *ICefBrowser, frame *ICefFrame, httpStatusCode int32))
页面加载完成
作用-渲染进程
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
httpStatusCode | http 状态码- int32类型 | - |
SetOnLoadError
SetOnLoadError(func(browser *ICefBrowser, frame *ICefFrame, errorCode TCefErrorCode, errorText, failedUrl string))
页面加载错误
作用-渲染进程
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
TCefErrorCode | 错误码 | - |
errorText | 错误描述文本 | - |
failedUrl | 失败的URL地址 | - |
SetOnLoadingStateChange
SetOnLoadingStateChange(func(browser *ICefBrowser, frame *ICefFrame, isLoading, canGoBack, canGoForward bool))
页面加载状态
作用-渲染进程
参数
字段 | 描述 | 备注 |
---|---|---|
ICefBrowser | 浏览器对象 | - |
ICefFrame | 浏览器内的Frame | - |
isLoading | true加载中 false加载完成 - bool 类型 | - |
canGoBack | true可以后退 false不可以后退 - bool 类型 | - |
canGoForward | true可以前进 false不可以前进 - bool 类型 | - |