簡體   English   中英

UWP Visual C#WebView InvokeScript更改CSS引發異常

[英]UWP Visual C# WebView InvokeScript to change CSS throws Exception

我正在嘗試通過注入Javascript函數來更改WebView(而非本地)中已加載網站的CSS。 我找到了這兩篇文章( 第1條第2條 ),但是在實現這兩個版本后,我總是得到以下異常: System.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)
        {

        }
    }
...

我不知道為什么它會引發異常。 我希望我提供的信息足夠。 如果沒有,請回到我身邊:-)

預先感謝您的回答

Windows 8.1之后的版本可能無法使用WebView.InvokeScript方法 相反,我們需要使用WebView.InvokeScriptAsync方法

您可以參考WebView類 ,在官方文檔的“備注”部分有示例:

您可以將InvokeScriptAsync與JavaScript eval函數一起使用,以將內容注入到網頁中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM