3

私は完全な信頼に取り組んでいますWPF ブラウザー アプリケーション (XBAP) を使用していて、思わぬ障害に遭遇しました。クライアント上のアプリケーションは、特定のプレフィックス/プロトコルを使用してナビゲーション リクエストを処理するように配線されています。(たとえば、「foo://...」) さらに、アプリケーションは、どのブラウザーが要求を作成するかによって、これらを異なる方法で処理します。ページの「NavigationService.Navigate()」メソッドを試しましたが、何らかの奇妙な理由でこれがWebRequest オブジェクトが関与し、「URI プレフィックスが認識されない」という NotSupportedException が発生します.WebBrowser コントロールを作成し、このプレフィックスを使用して IT を正常にナビゲートできますが、アプリケーションはそれを別のブラウザーとして認識し、異なる反応を示します.Silverlight を使用していた場合、完全に機能するブラウザの「window.location」を直接設定することになりますが、もちろん、

つまり、XBAP をホストするブラウザーをトリガーして、この特別なプレフィックスを持つ URI に移動する必要があります。

うわー。それだけだと思います。ありがとう。

更新: .Net Framework 4.0 では、ブラウザの DOM に直接アクセスできるようになり、この問題は解決されますが、.Net 3.x でこれを実現する方法を探しています。

4

1 に答える 1

3

BrowserInteropHelper.ClientSiteを使用してDOMにアクセスしてみてください。サンプルについては、この投稿を確認してください。

http://blogs.msdn.com/changov/archive/2009/03/01/scripting-out-of-an-xbap.aspx

ただし、これはInternetExplorerでのみ機能することに注意してください。

于 2010-02-18T14:48:06.297 に答える