学習用のシンプルな wp7 アプリを開発しています。Windows Phone 7 アプリケーションで以下のタスクを実行したいと考えています。
Web ページ (http://some-url/) に移動し、(webBrowser を使用して) このページを読み込むことができます。(ページの上に) ヘッダー div を表示したくありません。この Web ブラウザ ページの Java スクリプト (InvokeScript) を呼び出す方法
このHTML Webページは私のアプリではありません。
学習用のシンプルな wp7 アプリを開発しています。Windows Phone 7 アプリケーションで以下のタスクを実行したいと考えています。
Web ページ (http://some-url/) に移動し、(webBrowser を使用して) このページを読み込むことができます。(ページの上に) ヘッダー div を表示したくありません。この Web ブラウザ ページの Java スクリプト (InvokeScript) を呼び出す方法
このHTML Webページは私のアプリではありません。
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" >
function HideDiv(id) {
document.getElementById(id).style.display = 'none';
}
function ShowDiv(id) {
document.getElementById(id).style.display = 'block';
}
</script>
</head>
<body>
<div id="hide-me">Hide me !</div>
</body>
</html>
あなたを使用して WebView :
div を非表示:
wv.InvokeScript("HideDiv", new string[] { "hide-me" });
div を表示:
wv.InvokeScript("ShowDiv", new string[] { "hide-me" });
上記の@Aure77 ansは正常に動作しますが、Invoke script function diffを適用します
関数を使用して削除または非表示にすることもできますこれを解決するのInvokeScriptにも苦労していますInvokeScriptPhoneApplicationPage_LoadedwebBrowser1_Navigated
MainPage_MouseLeftButtonDownのような別のイベント ハンドラでこのメソッドを使用できますwebBrowser1_LoadCompleted。コードは次のとおりです。
private void webBrowser1_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
webBrowser1.InvokeScript("eval", "document.getElementsByTagName('your_div_name')[0].style.display = 'none';");
}
それは私にとってはうまくいきます:)これを試してください
jQuery を使ってみることができます。たとえば、ヘッダー ID が #header の場合:
$("#header").hide();
InvokeScriptの使用:
wpアプリからjavascript関数を呼び出すコード
webBrowser1.InvokeScript("hideDiv","");
javascriptコード
function hideDiv(){
document.getElementById('Your_Div_ID').style.display='none';
}