打开某特定网站浏览器退出
进程 已完成,退出代码为 -2147483645
我现在尝试打开 http://www.xrglqc.com 浏览器异常关闭了
究其原因是这个网站有个弹出框
我这边设置了回调函数:
newllq.Chromium().SetOnJsDialog(func(sender lcl.IObject, browser *cef.ICefBrowser, originUrl string, dialogType consts.TCefJsDialogType, messageText, defaultPromptText string, callback *cef.ICefJsDialogCallback) (suppressMessage bool, result bool) { return true, true //这里是错误的 })
type chromiumEventOnJsDialog func(sender lcl.IObject, browser *ICefBrowser, originUrl string, dialogType consts.TCefJsDialogType, messageText, defaultPromptText string, callback *ICefJsDialogCallback) (suppressMessage bool, result bool)
这是一个定义在 CEF (Chromium Embedded Framework) 中的事件处理函数类型,用于处理 JavaScript 对话框事件。这个函数需要返回两个布尔值 suppressMessage
和 result
,每个返回值对 CEF 程序有不同的影响:
suppressMessage (布尔值):
true:表示你希望抑制(不显示)这个 JavaScript 对话框。抑制对话框后,对话框不会显示给用户。
false:表示你希望显示这个 JavaScript 对话框。对话框将会正常显示给用户。
result (布尔值):
true:表示用户点击了“确定”按钮。
false:表示用户点击了“取消”按钮或关闭了对话框。
如果
dialogType
是TCefJsDialogType.JSDIALOGTYPE_ALERT
,result
参数将被忽略,因为警告对话框没有需要返回的结果。对于其他类型的对话框(如确认框
confirm
或提示框prompt
),result
的含义如下:
解决方案:
newllq.Chromium().SetOnJsDialog(func(sender lcl.IObject, browser *cef.ICefBrowser, originUrl string, dialogType consts.TCefJsDialogType, messageText, defaultPromptText string, callback *cef.ICefJsDialogCallback) (suppressMessage bool, result bool) { //callback.Cont(true, "你个龟儿子") //这里可以代替手工输入的值 return true, false })