2010-04-13 132 views
1

我有一個WebBrowser控件,並嘗試在所有鏈接上設置onclick和href屬性。在WebBrowser控件中設置JavaScript事件

foreach (HtmlElement link in webBrowser1.Document.Links) 
{ 
     link.SetAttribute("href", "http://www.google.com"); 
     link.SetAttribute("onclick", "return false;"); 
} 

它運作良好。當我外部HTML的源代碼我看到該屬性存在。 但JavaScript代碼不起作用。爲什麼以及如何強制WebBrowser控件執行JavaScript代碼?

回答

2

onclick是IDispatch類型的屬性。您可以指定一個功能不帶參數的財產或添加HTML屬性,讓解析器爲你做這個,但你無法通過DOM字符串分配給它。

您可以傳遞實現IDispatch的對象和默認方法(DISPID = 0)的財產,或使用IHTMLElement2 ::的attachEvent附加事件處理程序。如果你正在使用微軟的類庫,你可以使用微軟的包裝就像在Windows窗體和HtmlElement.Attachevent在Silverlight HtmlElement.AttachEventHandler。

相關問題