修改 webview 中的字体大小或删除文本中的一些 html 语言

Modify font size in webview or remove some html language on text

我有一个 webview 可以读取数据库中包含 html 语言元素的数据,例如:

等,还可以显示数据库中的图像。我希望字体更大。 XAML:

<WebView x:Name="QuestionTextWeb" Grid.Row="3" Margin="10,10,0,10" MinHeight="100" MaxHeight="200" HorizontalAlignment="Stretch" VerticalAlignment="Top"/>

代码:

string QuestionPhrase = @"SELECT * FROM DBQUESTION WHERE QUIZT_ID='100'";
question = objConn.Prepare(QuestionPhrase);
QuestionTextWeb.NavigateString((question[1].ToString());

如何让字体变大?或者除了使用 webview 之外,是否有办法不显示数据库中的 html 语言(但也显示图像)?由于里面包含了很多html种语言,所以不能用replace

您可以使用 WebView.InvokeScriptAsync 方法注入 javascript 代码并使用此 JS 代码更改 html 页面上的字体。

例如:

<WebView x:Name="webview" DOMContentLoaded="webview_DOMContentLoaded"></WebView>
public MainPage()
{
    this.InitializeComponent();
    string html = "<p>Dessy pergi ke pasar dia ingin membeli beberapa macam diantaranya buah apel, cendol, kain untuk pelajaran keterampilan membatik dan pensil. Ukuran-ukuran yang benar dipakai oleh penjual adalah...</p> ";
    webview.NavigateToString(html);
}

private async void webview_DOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
{
    await webview.InvokeScriptAsync("eval", new string[] { "document.getElementsByTagName(\"p\")[0].style.fontSize=\"" + 30 + "\";" });
}

一般情况下,我在DOMContentLoaded时调用这个方法。请您根据自己的情况自行决定。