提问人:user2111255 提问时间:6/28/2022 更新时间:6/28/2022 访问量:484
ChromiumWebBrowser - 如何将高度设置为 HTML 文档高度
ChromiumWebBrowser - how to set height to HTML doc height
问:
我的应用程序中托管了一个chromiumWebBrowser。 用户可以在 HTML 页面之间导航(使用 Binging To Address)。
我需要 xaml 滚动条(不是 css),所以我有一个 scrollViewer 和 Chromium 浏览器。
每次地址更改时,chromium 高度都需要是完整的 html 文档高度,才能正确滚动。
我尝试将其设置为类似于此 Q 中的答案:cefSharp ChromiumWebBrowser 大小到页面内容
第一次效果很好,但是在导航时,它只会增长 - 如果第一页是 600,下一页是 200 - 它也会返回 600 秒。
XAML:
<ScrollViewer x:Name="scroller" >
<wpf:ChromiumWebBrowser x:Name="chrome"
Address="{Binding CurrentUrl}" />
</ScrollViewer>
C#:
chrome.LoadingStateChanged += async (s, e) =>
{
if (!e.IsLoading) // browser.CanExecuteJavascriptInMainFrame == TRUE !
{
JavascriptResponse response =
await chrome.EvaluateScriptAsync(
// GET HEIGHT OF CONTENT
$"(function() " +
"{ var _docHeight = " +
" document.documentElement.scrollHeight; " +
" " +
" return _docHeight; " +
"} " +
")();");
int docHeight = (int)response.Result;
chrome.Dispatcher.Invoke(() => { chrome.Height = docHeight; });
}
};
答: 暂无答案
评论