Vb.net 如何使用CEFSHARP获取HTML文档高度?
我正在将web浏览器应用程序更改为使用基于浏览器的浏览器,而不是内置的vb.net web浏览器控件,并且需要查询html文档,以便能够将浏览器控件高度设置为html页面的高度。在VB web浏览器控件中,我使用了以下设置高度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
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对我来说不是强项。