组件功能接口 IChromiumProc

定义 接口类型
继承 lcl.IObject

接口-功能函数

On-事件监听

On(name string, eventCallback ipc.EventCallback)

字段 描述
name 事件名
EventCallback 事件触发回调函数

执行JavaScript

无返回值
ExecuteJavaScript(code, scriptURL string, startLine int32)

字段 描述
code 执行的函数名或代码
scriptURL 脚本地址 可为空
startLine scriptURL字段不为空时的启始执行行号 ,scriptURL字段为空是0

Emit-事件

Emit(eventName string, args ipc.IArgumentList, target IEmitTarget) ProcessMessageError

异步触发Web端JavaScript监听(on)事件, 无返回值

字段 描述
eventName 触发Web端JavaScript监听(on)事件名
IArgumentList 触发事件传递参数
target 触发目标事件,nil时为主窗口监听的事件
ProcessMessageError 返回值-事件触发是否成功

EmitAndCallback-事件

EmitAndCallback(eventName string, args ipc.IArgumentList, target IEmitTarget, callback ipc.IPCCallback) ProcessMessageError

异步触发Web端JavaScript监听(on)事件, 回调函数可获取Web端返回的参数

字段 描述
eventName 触发Web端JavaScript监听(on)事件名
IArgumentList 触发事件传递参数
target 触发目标事件,nil时为主窗口监听的事件
IPCCallback Web端返回结果执行该函数
ProcessMessageError 返回值-事件触发是否成功

EmitAndReturn-事件

EmitAndReturn(eventName string, args ipc.IArgumentList, target IEmitTarget) (ipc.IIPCContext, ProcessMessageError)

同步触发Web端JavaScript监听(on)事件,带有返回值, 不适用于主IU线程,在主IU线程使用会造成锁死现象,适于非主UI线程。

字段 描述
eventName 触发Web端JavaScript监听(on)事件名
IArgumentList 触发事件传递参数
target 触发目标事件,nil时为主窗口监听的事件
IIPCContext 返回值-上下文
ProcessMessageError 返回值-事件触发是否成功

设置默认加载地址

SetDefaultURL(defaultURL string)

字段 描述
defaultURL URL地址或本地html目录

启动多浏览器模式

SetEnableMultiBrowserMode(enableMultiBrowserMode bool)

加载URL

LoadUrl(url string)

加载HTML

LoadHtml(html string)

下载图片

DownloadImage(imageUrl string, isFavicon bool, maxImageSize int32, bypassCache bool)

重新加载

Reload()

停止加载

StopLoad()

设置缩放

BrowserZoom(zoom ZOOM)

重置缩放

ResetZoomLevel()

关闭所有浏览器

CloseAllBrowsers()

创建浏览器

CreateBrowser(window ITCefWindow) bool

字段 描述
ITCefWindow 窗口父组件

已初始化

Initialized() bool

获取BrowserId

BrowserId() int32

是否为当前浏览器

IsSameBrowser(browser *ICefBrowser) bool

打印保存为PDF

PrintToPDF(saveFilePath string)

打印预览

Print()

开始下载

StartDownload(url string)
触发事件函数

SetOnBeforeDownload(fn ChromiumEventOnBeforeDownload)
SetOnDownloadUpdated(fn ChromiumEventOnDownloadUpdated)

下载取消

BrowserDownloadCancel(browseId, downloadId int32)

下载暂停/开始

BrowserDownloadPause(browseId, downloadId int32)

后退

GoBack()

前进

GoForward()

关闭浏览器

CloseBrowser(forceClose bool)

显示开发者工具

ShowDevTools(window ITCefWindow)

字段 描述
ITCefWindow 窗口父组件

关闭开发者工具

CloseDevTools(window ITCefWindow)

字段 描述
ITCefWindow 窗口父组件

通知移动或调整大小已开始

NotifyMoveOrResizeStarted()

获取所有 cookie

VisitAllCookies(id int32)

字段 描述
id 默认传0

获取指定URL cookie

VisitURLCookies(url string, includeHttpOnly bool, id int32)

字段 描述
id 默认传0

删除指定URL cookie

DeleteCookies(url, cookieName string, deleteImmediately bool)

字段 描述
id 默认传0

设置 cookie

SetCookie(url, name, value, domain, path string,
secure, httponly, hasExpires bool,
creation, lastAccess, expires time.Time,
sameSite TCefCookieSameSite, priority TCefCookiePriority, aSetImmediately bool, aID int32)

字段 描述
url 指定的URL
name cookie名称
value cookie值
domain 可以访问该Cookie的域名。如果设置为“.baidu.com”,则所有以“baidu.com”结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”。
path Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cookie。如果设置为“/”,则本域名下contextPath都可以访问该Cookie。注意最后一个字符必须为“/”。
secure 该Cookie是否仅被使用安全协议传输。安全协议。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false。
httponly 是否为只读
hasExpires 是否已到期
creation 创建时间
lastAccess 最后访问时间
expires 到期时间
sameSite CSRF模式
priority cookie属性级别
aSetImmediately 是否立即设置
aID cookie的ID,默认值0

设置代理

SetProxy(cefProxy *TCefProxy)

字段 描述
TCefProxy 代理对象

更新首选项

UpdatePreferences()

字段 描述

执行开发者工具方法

ExecuteDevToolsMethod(messageId int32, method string, dictionaryValue *ICefDictionaryValue)

字段 描述
messageId 消息ID
method 方法名称
ICefDictionaryValue 参数字典值

发送进程消息

SendProcessMessage(targetProcess CefProcessId, processMessage *ipc.ICefProcessMessage) int
触发事件函数

SetOnProcessMessageReceived(fn BrowseProcessMessageReceived)

字段 描述
CefProcessId 进程ID PID_BROWSER 和 PID_RENDER
ICefProcessMessage 进程消息参数

创建客户端句柄

CreateClientHandler(client *ICefClient, alsOSR bool) bool

字段 描述
ICefClient
alsOSR 是否OSR模式

设置焦点

SetFocus(value bool)

发送捕获丢失事件

SendCaptureLostEvent()

IFrame是否获取焦点

FrameIsFocused() bool