2016-07-02 17 views
0

Javascript関数をインジェクトすることで、WebView(ローカルではない)内の読み込まれたWebサイトのCSSを変更しようとしています。私はこれらの二条(Article 1Article 2)を見つけたが、両方のバージョンを実装した後、私はいつも次の例外を取得:{「メソッドまたは操作が実装されていません」} System.NotImplementedExceptionをUWP Visual C#WebView InvokeScriptでCSSが例外をスローする

これはこれまでのところ、私のコードです:

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の後のリリースのために利用できない可能性があり、あなたの答え

答えて

0

WebView.InvokeScript methodのために事前にありがとうございます。代わりに、WebView.InvokeScriptAsync methodを使用する必要があります。あなたがWebView classを参照することができ

、公式文書の備考部分の例があります

あなたがWebページにコンテンツを挿入するためにJavaScript eval機能をInvokeScriptAsyncを使用することができます。

+0

ありがとうございました。 – David

関連する問題