在 Xamarin WebView 中修改源 HTML (Visual Studio 2019)

Modify source HTML in Xamarin WebView (Visual Studio 2019)

提问人:Tanoshimi 提问时间:11/3/2023 更新时间:11/4/2023 访问量:34

问:

我知道使用 Visual Studio 创建 Android 应用并不时髦,但我更喜欢它。不过,如果我需要使用 Android Studio,我可以。

我的应用在 WebView 中加载网页。这部分有效。现在我需要访问 DOM。我正在尝试通过网页上的链接和输入实现 Tabing。

我的想法是我可以获取链接列表(和输入框),修改html以在第一个链接周围设置边框。当按下 Tab 键或箭头键时,我可以恢复第一个,并在下一个周围放一个框。

我的问题是,如果我尝试先将html加载到某些东西(如敏捷html解析器或HtmlSource)中,它不会显示在WebView中。如果我直接在 Webview 中显示它,我可以完美地看到它,但我无法访问 Html。

  • 我想念旧的 Windows WebBrowser 控件,它允许您加载页面并允许您访问 DOM。 那里有类似的东西吗?
HTML DOM xamarin.Android Android-webview

评论

0赞 Jianwei Sun - MSFT 11/14/2023
你可以接受它作为答案。这可能会在未来帮助其他人。

答:

0赞 fractal4 11/4/2023 #1

尝试使用 EvaluateJavaScriptAsync:

var result = await mywebview.EvaluateJavaScriptAsync("document.title");

此外,更改 html 变量中的 HTML 代码,更改将反映在 WebView 中

WebView mywebview = new WebView();
string html = "<html><head></head><body>Test</body></html>";
HtmlWebViewSource htmlSource = new HtmlWebViewSource();
htmlSource.Html = html;
mywebview.BindingContext = htmlSource;