以前に WebBrowser コントロールを使用し、window.external 呼び出し (window.external.myMethod() など) を使用して cshtml Web ページとやり取りした Office アドインに取り組んでいます。
先月 GA でリリースされた新しい WebView2 コントロールを使用するように切り替え、現在の cshtml ページを更新して、そのコントロールの正しい呼び出しを使用するようにしました (例: chrome.webview.hostObjects.myObject.myMethod())。
私が助けを求めている問題は、私のアドインが、古い window.external 呼び出しを含むこれらの cshtml ページを実行している古いサーバーにも接続できることです。値をやり取りする方法を見つけようとしています。
次のような WebView2 コントロールを使用して、ページが読み込まれるたびに実行される JavaScript を挿入する機能があることを私は知っています。
await webBrowser.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("my javascript");
...実際には、いくつかのイベントをフックするためにこれを行っています。WebView2 の ExecuteScriptAsync も実行できます。
これらのいずれかが進むべき道なのか、それとも私が考えていないより良い方法があるのか どうかはわかりません。そして、Javascript を挿入して実行するとしたら、どのように見えるでしょうか!
皆さんにいくつかの提案があることを願っています...