如何在WebView Xamarin.Forms中加载带有javascript内容的HTML页面

本文关键字:javascript 页面 HTML 加载 WebView Xamarin Forms | 更新日期: 2023-09-27 18:21:21

我是xamarin和c#表单平台的新手。我做了一个简单的webview应用程序。我的主页是

namespace jsinjection
{
    public class WebviewPage : ContentPage
    {
        public WebviewPage ()
        {
            Content = new WebView {
                Source = "https://www.google.com.tr/",
                HeightRequest = 1000,
                WidthRequest = 1000
            };
        }
    }
}

我想根据特定于平台的数据对该web视图进行javascript注入。但是我不知道如何在课堂之外获得这个网络视图。我应该在项目的哪一部分进行注射。

如何在WebView Xamarin.Forms中加载带有javascript内容的HTML页面

查看是否可以使用以下代码:

WebView wv = new WebView();
wv.EvaluateJavascript ("document.body.innerHTML");

wv.InvokeScriptAsync("eval", new string[] { "document.body.innerHTML" });

另请参阅:Xamarin:如何在WebView中从页面获取HTML?

查看Xamarin.Forms.HtmlWebViewSource

这里有一个例子:

// Get html content of your page.. 
// It could contain javascript code or references to files in the assets (example bellow).
string htmlText = MyItem.Article.ToString();
var browser = new WebView ();
var html = new HtmlWebViewSource {
  Html = htmlText
};
// Set your HTML content to implemented WebView
browser.Source = html;

或使用Xamarin.Forms.UrlWebViewSource

// Just use local URL for your HTML file that stores inside your application content.
browser.Source = new UrlWebViewSource {Url = "Content/index.html"};