我想讓我的瀏覽器(GeckoFX)在我的網頁上點擊一個按鈕時執行一個.NET函數。我有以下代碼:GeckoFX上的'AddMessageEventListener'錯誤
public Form1()
{
InitializeComponent();
AddMessageEventListener("myFunction", ((string s) => this.showMessage(s)));
browser.LoadHtml
(
@"<!DOCTYPE html>
<html><head>
<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"">
<script type=""text/javascript"">
function fireEvent(name, data)
{
event = document.createEvent('MessageEvent');
event.initMessageEvent(name, false, false, data, null, null, null, null);
document.dispatchEvent(event);
}
</script>
</head>
<body>fdsfsda
<input type=""button"" onclick=""fireEvent('myFunction', 'some data');"" value=""SHOW DATA"" />
</body></html>"
);
}
public void AddMessageEventListener(string eventName, Action<string> action)
{
browser.AddMessageEventListener(eventName, action);
}
private void showMessage(string s)
{
MessageBox.Show(s);
}
但運行的代碼,行
browser.AddMessageEventListener(eventName, action);
時給我錯誤的「不設置到對象的實例對象引用」。我不明白,因爲我已檢查該行中的所有對象都已初始化。有人可以幫助,並告訴我爲什麼我得到這個錯誤?
非常感謝!
有人能幫助我嗎?這讓我瘋狂!非常感謝你!!!!!!! – jaume
您的代碼是否輸入了「AddMessageEventListener」方法? – Bartosz