Vb.net 如何使用CEFSHARP获取HTML文档高度?

Vb.net 如何使用CEFSHARP获取HTML文档高度?,vb.net,document,cefsharp,Vb.net,Document,Cefsharp,我正在将web浏览器应用程序更改为使用基于浏览器的浏览器,而不是内置的vb.net web浏览器控件,并且需要查询html文档,以便能够将浏览器控件高度设置为html页面的高度。在VB web浏览器控件中,我使用了以下设置高度 WebBrowser.Height = WebBrowser.Document.Body.ScrollRectangle.Height WebBrowser.Height = WebBrowser.RectangleToScreen 如何在CEFSHAR

我正在将web浏览器应用程序更改为使用基于浏览器的浏览器,而不是内置的vb.net web浏览器控件,并且需要查询html文档,以便能够将浏览器控件高度设置为html页面的高度。在VB web浏览器控件中,我使用了以下设置高度

    WebBrowser.Height = WebBrowser.Document.Body.ScrollRectangle.Height
    WebBrowser.Height = WebBrowser.RectangleToScreen

如何在CEFSHARP中获取HTML文档属性?我一直在寻找一些线程,似乎你需要做一个javascript调用,但我找不到一个简单的例子。任何人都有使用CEFSHARP的经验吗?

下面是我试图用来获取HTML文档高度的代码,但它不起作用。我敢肯定是脚本行出错了,但似乎找不到正确的语法来获取文档高度

Private Sub WWWBrowser_LoadingState(sender As Object, e As LoadingStateChangedEventArgs) Handles WWWBrowser.LoadingStateChanged

    If e.IsLoading = False Then

        Dim script = "(function() { var body = document.body, html = document.documentElement; return  Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); })();"
        Dim task As Task(Of JavascriptResponse) = WWWBrowser.EvaluateScriptAsync(script)
        Dim taskResult As String

        task.ContinueWith(
            Sub(t)
                If t.IsFaulted = False Then
                    Dim response = t.Result 'Error: Result is not a member of Task' 
                    If response.Success And response.Result IsNot Nothing Then
                        taskResult = response.Result
                    End If
                End If
            End Sub)

        MsgBox(task.Result.Result)

    End If


End Sub

请参阅在
DevTpols
中运行脚本。请参阅您的脚本与示例不匹配,您对其进行了微妙的修改。我已编辑了您的答案,以包含正确的JavaScripts感谢您的帮助-我已使其正常工作-Javascript对我来说不是强项。