2017-03-09 13 views

答えて

2

ウェブビューにはアドレスバーが含まれていないため、読み込んだページやそのページからナビゲートできるページのみが表示されます。あなたがロードされているものを制御できる場合は、あなたが望むページだけを表示することができます。

サイトのHTMLを制御できない場合は、NavigationStartingイベントを処理し、表示したくないページの場合はナビゲーションをキャンセルすることで、不要なページへのアクセスを防ぐことができます。

0

いいえ、ウェブサイトの「部分」とは、ページ内の部分を意味します。しかし、Mattが言ったように、特定のページだけを表示したいのであれば、関連するWebページに移動し、その方法でどのナビゲーションリンクを許可するかを制御できます。

実際にページ内の一部しか意味しなかった場合、そのオプションは魅力的ではありません。理論的には、Httpリクエストでサイトのhtmlをプルダウンし、それを解析して、望まないものを除外し、ローカルに保存してから、そのローカルページをwebviewに読み込むことができます。しかし、私はそれが重大なオーバーヘッドを追加すると思う、javascriptまたは他のものの中で、サイトが使用しているかもしれないものとの競合を作成する可能性があります。しかし、おそらくそれが非常にターゲットを絞ったユースケースであれば、それをプレイすることができるかもしれません。

あなたのシナリオでは、アプリケーションがアクセスしているウェブサイトを管理していても、アプリがリクエストしたときに特定のURLでサイトの希望するバージョンを提供することができます。

0

注意100%確信していますが、Webビューコントロールで開いているウェブサイトに任意のHTMLコンテンツの外部部分を埋め込むことができます。

var result = await this.webView.InvokeScriptAsync("eval", new[] { "document.documentElement.outerHTML;" }); 

string result = await this.webView.InvokeScriptAsync("eval", new [] {"document.getElementById('tablePrint').innerHTML = myTable;" }); 

JavaスクリプトでHTMLコンテンツを追加します。

希望すると助かります

関連する問題