【发布时间】:2021-10-10 17:15:30
【问题描述】:
如何在 WebView 中滚动到底部?我已经尝试过了,但它没有用:
webView.EvaluateJavaScriptAsync("window.scrollTo(0,document.body.scrollHeight);");
【问题讨论】:
标签: c# android ios xamarin uwp
如何在 WebView 中滚动到底部?我已经尝试过了,但它没有用:
webView.EvaluateJavaScriptAsync("window.scrollTo(0,document.body.scrollHeight);");
【问题讨论】:
标签: c# android ios xamarin uwp
您可以在按钮点击事件中使用下面的代码。
webview.Eval("window.scrollTo(0, document.body.scrollHeight);");
或者你可以通过自定义渲染器来做到这一点。 html 文档显示时会滚动到底部。
安卓:
[assembly: Xamarin.Forms.ExportRenderer(typeof(ScrollWebView), typeof(ScrollWebViewRenderer))]
namespace App8.Droid
{
public class ScrollWebViewRenderer : WebViewRenderer
{
public static ScrollWebView view = null;
public ScrollWebViewRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
Control.SetWebViewClient(new webviewClient(this, "window.scrollTo(0,document.body.scrollHeight);"));
}
}
public class webviewClient : FormsWebViewClient
{
string _javascript;
public webviewClient(ScrollWebViewRenderer renderer, string javascript) : base(renderer)
{
_javascript = javascript;
}
public override void OnPageFinished(Android.Webkit.WebView view, string url)
{
base.OnPageFinished(view, url);
view.EvaluateJavascript(_javascript, null);
}
}
}
【讨论】: