首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用ShouldOverrideUrlLoading从Xamarin.Forms Android webview中检索标题时遇到问题,始终(空)

在使用ShouldOverrideUrlLoading从Xamarin.Forms Android WebView中检索标题时遇到问题,始终返回空的情况下,可能是由于以下原因导致的:

  1. WebView中的页面尚未完全加载完成,导致标题尚未设置。可以尝试在WebView加载完成后再获取标题。
  2. WebView中的页面没有设置标题。需要确保网页中设置了正确的标题。
  3. 应用程序权限问题,可能导致无法获取WebView中的标题。可以检查应用程序的权限设置,确保拥有网络访问权限。

针对这个问题,可以尝试以下解决方法:

  1. 在WebView的OnPageFinished事件中获取标题:
代码语言:txt
复制
webView.SetWebViewClient(new WebViewClient());
webView.SetWebChromeClient(new WebChromeClient());

webView.SetWebViewClient(new WebViewClient()
{
    public override void OnPageFinished(WebView view, string url)
    {
        string pageTitle = view.Title;
        // 这里可以处理获取到的标题
    }
});
  1. 通过JavaScript从WebView中获取标题:

首先,在WebView中启用JavaScript:

代码语言:txt
复制
webView.Settings.JavaScriptEnabled = true;

然后,通过EvaluateJavascript方法执行JavaScript脚本获取标题:

代码语言:txt
复制
webView.EvaluateJavascript("document.title", new JavaScriptValueCallback((result) =>
{
    string pageTitle = result; // 获取到的标题
    // 这里可以处理获取到的标题
}));

需要注意的是,在Android 4.4以下的版本上,EvaluateJavascript方法可能无法正常工作,可以使用LoadUrl方法执行JavaScript脚本,并通过AddJavascriptInterface方法与C#代码进行交互。

推荐的腾讯云相关产品:腾讯云移动浏览器服务(Tencent Mini Program Browser Service)

产品介绍链接地址:https://cloud.tencent.com/product/mbbs

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券