none
WPF WebView2 で CORS を無効にする方法 RRS feed

  • 質問

  • .Net5/C#/WPF を用いて WebView2 を表示するアプリを開発しているのですが、CORS を無効にしたいです。

    Chromium Edge Canary 86.0.607.0 で、
    下記の引数をショートカットに追加すると CORS を無効にできました。

    --disable-web-security --user-data-dir="C://Chrome dev session"

    WebView2 も同様に無効にしたいです。

    方法はないでしょうか?

    2020年8月14日 0:22

回答

  • 全く試していませんが、CoreWebView2EnvironmentOptionsに起動時引数を追加するプロパティがあるようなのでこれを試してみてはいかがでしょうか。

    なおこのクラスはCoreWebView2Environment.CreateAsync静的メソッドの引数として渡すことができ、さらにCoreWebView2EnvironmentクラスはWebView2クラスのEnsureCoreWebView2Async静的メソッドの引数として渡すことができます。

    Sourceを最初に設定した時点で暗黙に初期化(Edgeプロセスの起動)が行われるらしいので、Sourceを設定するのはEnsureCoreWebView2Async(が返すTask)をawaitした後にしないとまずそうですね。

    2020年8月14日 1:44

すべての返信

  • 全く試していませんが、CoreWebView2EnvironmentOptionsに起動時引数を追加するプロパティがあるようなのでこれを試してみてはいかがでしょうか。

    なおこのクラスはCoreWebView2Environment.CreateAsync静的メソッドの引数として渡すことができ、さらにCoreWebView2EnvironmentクラスはWebView2クラスのEnsureCoreWebView2Async静的メソッドの引数として渡すことができます。

    Sourceを最初に設定した時点で暗黙に初期化(Edgeプロセスの起動)が行われるらしいので、Sourceを設定するのはEnsureCoreWebView2Async(が返すTask)をawaitした後にしないとまずそうですね。

    2020年8月14日 1:44
  • できました!

    最初は説明通りにやってると思ってたのに、全然動かず、「だめか…」と諦めかけてましたが、

    > Sourceを設定するのはEnsureCoreWebView2Async(が返すTask)をawaitした後

    を思い出して、 Xaml のほうで Source を指定しまってたことに気づき、

    そっちを消したら動きました。二重でお助けいただきました💦

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

    2020年8月15日 2:36