2016-11-30 12 views
0

Xamarin Forms WebViewに読み込まれたhtmlを読む方法がありますか?WebViewからHTMLを読む - Xamarinフォーム

私はxamarinフォームWebViewにURLをロードしましたが、webviewでurlが変更され、リダイレクトがあるときにページを探したいと思っています。私はHTMLコンテンツ(文字列内)を読む必要があり、Webビューで読み込まれたHTMLから、期待されるページを見つける必要があります。

問題:私はユーザーのログインページを開きます。ユーザーは資格情報を追加し、ログインボタンを押します。資格情報が有効な場合、ログインページから同じURLを持つ他の中間ページへのリダイレクトがありますが、状況によっては異なる動作をします。初めてユーザーがログインすると、承認ボタンが表示された承認ページが表示されます。ユーザーがボタンをクリックすると、ユーザーは最終ページに移動します。ユーザーが初めてログを記録した場合、中間ページは空白になり、しばらくすると最終的に予想されるページに移動します。

中間ページが認証情報を持っているか、空白ページがあることを検出するロジックを見つける必要があります。中間ページは両方のシナリオで同じURLを持つため、URLを使用して識別することはできません。だから、ページのHTMLコンテンツを読むことを考えている。それ、どうやったら出来るの?

私は、iOS、Android、Windowsをクロスプラットフォームのxamarinフォームアプリケーションとしてターゲット設定しています。

答えて

1

System.Net.HttpパッケージをPCLにインストールして、そのようなページのHTMLコンテンツを取得することができます。

HttpClient hpClient = new HttpClient(); 
HttpResponseMessage requestMessage = await hpClient.GetAsync("http://google.com"); 
string HTMLContent = await requestMessage.Content.ReadAsStringAsync(); 

注:一般>現在のプロファイルに移動して、PCL 4.5に変更し、あなたのPCLソリューションをダブルクリックする必要がありますSystem.Net.Httpパッケージをインストールするには - プロフィール111

+0

私は自分の質問を更新しました。それを確認してください。私はリダイレクトによってWebページに行きますので、上記の解決策は私を助けませんでした。 –

+0

これは魅力のように機能します。どうもありがとうございます!! – DocAsh59

0

私は希望まだあなたが必要とすることが他にどれほどできるか​​考えていますが、ここで使用できる方法の1つです。

Navigateイベントを購読する。その内部にWebNavigatedEventArgsパラメーターにはURLを指すUrlWebViewSourceメンバーSourceがあります。あなたはそれを読むことができます。

また、CanGoBackをチェックすることもできます。それがリダイレクトの場合、このメンバーは真でなければなりません。

カスタムレンダラを実装する必要があるページのコンテンツを読み込むには。

+0

私はすでにこれをやっています。ここで提案してください。 –

+0

サンプル溶液を提供すれば、私はもっと助けることができるかもしれません。 –

関連する問題