私はC# .NET Framework 2.0
を使ってアプリケーションを作成しています。は、WebBrowserコントロールのユーザーによってDOM要素のクリックされた部分を取り上げることができます。クリック時にiFrameの内部でDOM要素を選択することはできますか?
これまでのところ、WebブラウザーコントロールのHTMLでhtmlタグとその属性を選択できます。
//adding event when user mouse down or focus out
webBrowser1.Document.MouseDown += new HtmlElementEventHandler(myMouseDown);
そして、それらのイベントが出力DOM情報は、リスト・ボックスなどするだろう
private void myMouseDown(object sender, HtmlElementEventArgs e)
{
HtmlElement tag = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
txtRecord.Items.Add("TagName=" + tag.TagName);
txtRecord.Items.Add("id=" + tag.GetAttribute("id"));
txtRecord.Items.Add("name=" + tag.GetAttribute("name"));
txtRecord.Items.Add("type=" + tag.GetAttribute("type"));
txtRecord.Items.Add("value=" + tag.GetAttribute("value"));
txtRecord.Items.Add("class=" + tag.GetAttribute("class"));
txtRecord.Items.Add("inner text=" + tag.InnerText);
}
しかし、その後のイベントmouseDownイベントは、iframe内に動作していない
。iFrameの内部をクリックしても、DOM情報が漏れることはありません。
ユーザーはiFrameでその場所をクリックしてDOM情報を取得できますか?
UPDATE:
見つかりHtmlWindowオブジェクトと同じイベント・ロジックを適用します。
HtmlWindow iFrame;
iFrame = webBrowser1.Document.Window.Frames[0];
iFrame.Document.MouseDown += new HtmlElementEventHandler(myMouseDown);
しかし
は、最後の行はUnauthorizedAccessException :(私は UnauthorizedAccessExceptionを得ている理由が分かった