UWP Visual c# WebView InvokeScript改变CSS抛出异常



我试图通过注入Javascript函数来改变WebView(不是本地)加载网站的CSS。我发现这两个条款(第1条,第2条),但在实现两个版本后,我总是得到以下例外:系统。NotImplementedException{"该方法或操作未实现。"}

这是我目前为止的代码:

MainPage.xml

...
  <WebView x:Name="WebView" LoadCompleted="webViewCSS_LoadCompleted"/>
...

MainPage.xaml.cs

...
private void webViewCSS_LoadCompleted (object sender, NavigationEventArgs e)
  {
     addCss();
  }
private void addCss()
  {
     try
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("function setCSS() { ");
            sb.Append("document.getElementsByClassName('app')[0].style.width = '100%';");
            sb.Append("} ");
            string script = sb.ToString();
            WebView.InvokeScript("eval", new string[] { script });
            WebView.InvokeScript("eval", new string[] { "setCSS()" });
        } catch (Exception ex)
        {
        }
    }
...

我不知道为什么它抛出一个异常。我希望我提供的信息是足够的。如果没有,请回复我:-)

提前感谢您的回答

WebView。在Windows 8.1之后的版本中,InvokeScript方法可能不可用。相反,我们需要使用WebView。InvokeScriptAsync方法。

你可以参考WebView类,在官方文档的注释部分有例子:

您可以使用InvokeScriptAsync和JavaScript eval函数将内容注入到网页中。

最新更新