2011-05-23 31 views
0

私は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を得ている理由が分かった

答えて

0

スローされます。iFrameのsrcはクロスフレームスクリプトに違反しているいる間に私のメインページはhttp://localhost/index.htmlあるためですセキュリティによると:

http://msdn.microsoft.com/en-us/library/ms171715.aspx 
http://msdn.microsoft.com/en-us/library/ms533028.aspx 

私は同じドメインを使用するには、iFrameのsrcを変更した、http://localhost/secondPage.html

それから作業が開始されます。

関連する問題