首页
学习
活动
专区
工具
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

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

相关·内容

  • Xamarin 学习笔记 - 配置环境(Windows & iOS)

    一直以来,做为一名Web以及桌面开发人员,我一直在使用.NET框架和C#语言,而在某些项目中,Angular会在前端占有主导地位。 最近,我们总是谈论移动应用程序开发的未来,但我本身实在没有天赋转向另一种语言。最近几年,针对我的社交项目,我尝试使用Hybrid框架和AngularJS以及Ionic,Cordova一起构建一个示例……但一切并不像我想象得那样容易。此后微软于2016年2月份收购了Xamarin并在之后不久宣布了将Xamarin开源。自此微软生成用C#开发的软件将不仅仅能够运行在Windows上,而是可以在任何设备上运行。继微软收购Xamarin之后,对可以将C#开发与全功能的跨平台移动开发工具相结合,使用开发工具共享业务逻辑代码,以提供完全原生的应用程序的专业人士的需求日益增加,这一点自从2011年之后就一发不可收拾。

    02
    领券