1

シンプルなアプリを開発していて、画像タップでウェブページを表示したいのですが、メニューやロゴ画像を含むヘッダーdivコンテンツを表示したくありません。

そのために、 Webブラウザコントロールを使用してWebページを呼び出して表示することができます

私のC#コードID

private void image_Tap(object sender, GestureEventArgs e)
    {
        webBrowser1.Navigate(new Uri("http://www.my-url.com", UriKind.Absolute));
    }

それはうまくいきます。

そして、ヘッダータグデータ(b / w<ヘッダー></ヘッダー>divのコンテンツ)を削除するにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

2

Web ブラウザ コントロールは、渡された HTML ドキュメントをロードするだけです。ドキュメントが独自のサーバーでホストされていない場合、この HTML を直接操作する方法はありません。非常に生のアプローチは、HTML ドキュメントを解析してから検索/置換を<header>...</header>行うことです。 WebBrowser.SaveToString<!--<header>..</header>-->
メソッドを 使用して、HTML ドキュメント ソースを文字列として保存できます。C# での HTML 解析については、HTML Agility Packをお勧めします。また、C# で html を解析する最良の方法は何ですか? もご覧ください。および HTML 文字列の解析

于 2013-01-07T07:49:39.287 に答える
1

Windows Phone の WebBrwoserControl は、URL から取得した html をレンダリングします。

HTML がレンダリングされたら、レンダリングされた DOM/HTML を操作する JavaScript コードを (C# コードから) 実行できます。この場合、HTML タグを削除します。InvokeScript を使用するだけです。

Windows Phone アプリでボタンを押したときにコードを実行したいとします。そのボタン クリック イベントのイベント ハンドラーは Button1_Click で、コードを実行するコードは以下のとおりです。

private void Button1_Click(object sender, RoutedEventArgs e)
{
    object results = WB1.InvokeScript("HideElement", new string[] { "hideElement" });
}

ここで行う必要があるのは、'HideElement' という関数をページに追加することだけです。これを www.my-url.com からロードすると、設定が完了します。ボタンがクリックされると、InvokeScript がその関数を呼び出します。明確にするために、javascript-function は、ロードする Web ページの元の Web サーバー上にある必要があります。

于 2013-01-07T12:10:42.180 に答える
1

JavaScriptでやりたい場合:

document.getElementsByTagName('header')[0].style.display = 'none';

于 2013-01-07T07:50:45.917 に答える