1

以前に 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 を挿入して実行するとしたら、どのように見えるでしょうか!

皆さんにいくつかの提案があることを願っています...

4

1 に答える 1