提交 9cc258f0 编写于 作者: yanghye's avatar yanghye

demo update

上级 20b8b8be
......@@ -52,7 +52,7 @@ func main() {
radioDefault2Check consts.MenuId
)
//右键弹出菜单
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel) bool {
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel, window cef.IBrowserWindow) bool {
//既然是自定义,当然要去除之前事先定义好的
model.Clear()
//开始创建菜单,每个菜单项都有自己的ID, 所以要先定义一个能保存这些菜单项的ID的变量
......@@ -118,9 +118,9 @@ func main() {
return true
})
//右键菜单项命令
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, menuId consts.MenuId, eventFlags uint32, result *bool) {
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, menuId consts.MenuId, eventFlags uint32, window cef.IBrowserWindow) bool {
fmt.Printf("params: %+v\n", params)
fmt.Println("menuId: ", menuId, eventFlags, *result)
fmt.Println("menuId: ", menuId, eventFlags)
//在这里处理某个菜单项的点击事件所触发的命令,这里的命令对应着一个菜单项的ID
var clickMenuId = 0
switch menuId {
......@@ -141,6 +141,7 @@ func main() {
}
ipc.Emit("menu", clickMenuId, fmt.Sprintf("菜单 %d 随便传点什么吧 但是,字符串参数字符串参数字符串参数字符串参数字符串参数字符串参数字符串参数.", menuId))
//*result = true
return true
})
})
//运行应用
......
......@@ -27,7 +27,7 @@ func main() {
loadEnergyUrl consts.MenuId
loadBaiduUrl consts.MenuId
)
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel) bool {
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel, window cef.IBrowserWindow) bool {
model.AddSeparator()
loadEnergyUrl = model.CefMis.NextCommandId()
model.AddCheckItem(loadEnergyUrl, "load-energy")
......@@ -35,18 +35,19 @@ func main() {
model.AddCheckItem(loadBaiduUrl, "load-baidu")
return false
})
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, commandId consts.MenuId, eventFlags uint32, result *bool) {
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, commandId consts.MenuId, eventFlags uint32, window cef.IBrowserWindow) bool {
if commandId == loadEnergyUrl {
window.Chromium().LoadUrl("https://energy.yanghy.cn")
} else if commandId == loadBaiduUrl {
window.Chromium().LoadUrl("https://www.baidu.com")
}
return true
})
// 使用 load start 和 load end 回调观察当前加载的url
event.SetOnLoadStart(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, transitionType consts.TCefTransitionType) {
fmt.Println("load-start:", frame.Url())
})
event.SetOnLoadEnd(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, httpStatusCode int32) {
event.SetOnLoadEnd(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, httpStatusCode int32, window cef.IBrowserWindow) {
fmt.Println("load-end:", frame.Url())
})
// 在 on before browser 配置代理
......
......@@ -40,7 +40,7 @@ func main() {
var idClear consts.MenuId
var idURL consts.MenuId
// 在右键菜单实现这个示例
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel) bool {
event.SetOnBeforeContextMenu(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, model *cef.ICefMenuModel, window cef.IBrowserWindow) bool {
model.AddSeparator()
idScheme = model.CefMis.NextCommandId()
model.AddItem(idScheme, "RegScheme")
......@@ -51,7 +51,7 @@ func main() {
return true
})
// 右键菜单命令
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, commandId consts.MenuId, eventFlags uint32, result *bool) {
event.SetOnContextMenuCommand(func(sender lcl.IObject, browser *cef.ICefBrowser, frame *cef.ICefFrame, params *cef.ICefContextMenuParams, commandId consts.MenuId, eventFlags uint32, window cef.IBrowserWindow) bool {
if commandId == idScheme {
// 创建 SchemeHandlerFactory
factory := cef.SchemeHandlerFactoryRef.New()
......@@ -141,6 +141,7 @@ func main() {
} else if commandId == idClear {
browser.GetRequestContext().ClearSchemeHandlerFactories()
}
return true
})
})
//运行应用
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册