• 打开某特定网站浏览器退出
  • 进程 已完成,退出代码为 -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
    })