文档手册

打开某特定网站浏览器退出

2024-05-24 18:08:15

进程 已完成,退出代码为 -2147483645


我现在尝试打开 http://www.xrglqc.com 浏览器异常关闭了


究其原因是这个网站有个弹出框

image


我这边设置了回调函数:

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 对话框事件。这个函数需要返回两个布尔值 suppressMessageresult,每个返回值对 CEF 程序有不同的影响:

  1. suppressMessage (布尔值)

    • true:表示你希望抑制(不显示)这个 JavaScript 对话框。抑制对话框后,对话框不会显示给用户。

    • false:表示你希望显示这个 JavaScript 对话框。对话框将会正常显示给用户。

  2. result (布尔值)

    • true:表示用户点击了“确定”按钮。

    • false:表示用户点击了“取消”按钮或关闭了对话框。

    • 如果 dialogTypeTCefJsDialogType.JSDIALOGTYPE_ALERTresult 参数将被忽略,因为警告对话框没有需要返回的结果。

    • 对于其他类型的对话框(如确认框 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
})