特定のシナリオでは、WebBrowser
コントロールがNavigationComplete
またはNavigationFailed
というイベントハンドラをトリガできません。WebBrowserコントロールがイベントハンドラを起動できない
はここでどうするかだ。
- ネイティブのWindows Phone 8.1のSilverlightアプリは
WebBrowser
をインスタンス化し、それを認証WebページをロードするためのURLを提供します。 WebBrowser
コントロールはURLを読み込んでページをレンダリングします。- ユーザーは資格情報を入力し、認証サービスに情報をPOSTするための送信ボタンをタップします。
- 認証サービスは資格情報を検証し、302(リダイレクト)で応答します。
WebBrowser
制御がリダイレクトに従います。NavigationComplete
イベントハンドラがコントロールに添付されています。リダイレクトが成功したことを示すURLパターンが見つかると、それは追加のメソッドを実行します。- 追加のメソッドは、openidトークンをリダイレクトURLクエリパラメータから取得します。
- ユーザーは認証され、満足しています。
ユーザーが
WebBrowser
が空白のページをレンダリングし任意のイベントハンドラをトリガしないステップ#3で資格情報を送信した後:実際に何が起こる
。コードは、WebBrowser
コントロールによって提供されるすべてのナビゲーションイベントハンドラをリッスンしています。
私が試したもの:テストHerokuのサーバと同じように密接に私ができるようにシナリオを再現し
- 。 WebBrowserは、herokuに再び当たるPOST送信ボタンを持つダミーの認証情報入力ページに進みます。 herokuは302と実際のリダイレクトURLで応答します。
WebBrowser
はうまく機能しますO_o - に現在のURLを確認したり、別のページにナビゲートして空白ページエラーの後にコントロールが何らかの形で壊れていないかどうかを確認するイベントを
WebBrowser
に追加しました。WebBrowser
が正しく応答します。 - コントロールでJavascriptが有効になっていることを確認してください。
- 同じコードの90%を共有しますが、制御は
WebView
で、Windows 8のタブレットアプリケーションとまったく同じサーバーサイドインフラストラクチャを使用しました。WebView
は正常に機能します。
誰もがこのような行動をした経験がありますか?誰でもこの問題を解決する可能性のあるライブラリ(商用またはオープンソース)を知っていますか? Android bridge for WindowsまたはiOS bridge for WindowsはWindows Phone 8をサポートしていますか?
完全な複製サンプルを使用するのは困難です。 –
私は同じ問題を自分で持っています。私は私たちの会社独自のAuthソフトウェアでそれを再現することができました – davehenry
HTTPSを使用するようにリダイレクトされているページはありますか?そうであれば、証明書は有効ですか?ホストされたブラウザコントロールで無効な証明書を持つページに移動すると、空のページが表示されることがあります。 – Don