从 maui.net 中的 webview 内的一侧获取 url

问题描述 投票:0回答:1

我在代码中测试了一系列更改,用于从 webview 对象获取 web 端的 URL 并将 URL 打印到条目。

private async void YoutubeWebView_Navierated(object? sender, WebNavieratedEventArgs e) { 尝试 { 字符串 currentUrl = 等待 youtubeWebView.EvaluateJavaScriptAsync("window.location.href;"); urlEntry.Text = 当前Url; } catch(异常前) { wait Console.Out.WriteLineAsync($"JavaScript 执行错误: {ex.Message}"); 扔; }

}

private void YoutubeWebView_Navigating(对象?发送者,WebNavigatingEventArgs e) {

urlEntry.Text = e.Url;

}

我测试了 e.url。不工作。评估 JavaScriptAsync。不工作。更改 Webview.source。不工作。也许是你的教授之一。可以帮助我。

c# webview maui geturl
1个回答
0
投票

您可以尝试以下代码:

xaml:

<Entry x:Name="urlentry" TextColor="OrangeRed"/>
 
<WebView Source="https://learn.microsoft.com/en-us/dotnet/maui/user-interface/layouts/grid?view=net-maui-8.0"
         x:Name="webview"
         Navigating="webview_Navigating"
         Navigated="webview_Navigated"
         HeightRequest="500"/>

背后代码:

private void webview_Navigating(object sender, WebNavigatingEventArgs e)
{
    urlentry.Text = e.Url;
}
 
private async void webview_Navigated(object sender, WebNavigatedEventArgs e)
{
    try 
    { 
        string currentUrl = await webview.EvaluateJavaScriptAsync("window.location.href;"); 
        urlentry.Text = currentUrl; 
    } 
    catch (Exception ex) 
    { 
        await Console.Out.WriteLineAsync($"JavaScript execution error: {ex.Message}"); 
        throw; 
    }
}

您可以尝试将WebView的

Source
设置为.NET MAUI,看看urlentry.Text是否会更新。

© www.soinside.com 2019 - 2024. All rights reserved.