2015-01-16 5 views
0

저는 C# 응용 프로그램에 GeckoFX 29 GeckoWebBrowser가 있습니다. 웹 페이지로 성공적으로 이동하며 간단한 "클릭()"을 허용하지 않는 요소가 있으므로 강제로 이벤트를 발송해야합니다. 문제는 내가 이벤트를 만들려고 할 때 GeckoFX 코어가 예외를 throw한다는 것입니다.GeckoDocument.CreateEvent가 예외를 throw합니다.

예외는 CreateEvent에 (EVENTNAME)에서 발생하고 예외이 있습니다
var eventName = "mouseover"; 
var domEvent = browser.DomDocument.CreateEvent(eventName); 
domEvent.DomEvent.InitEvent(new nsAString(eventName), true, true); 

: 나는 소스 코드를 들여다 시도

System.Runtime.InteropServices.COMException (0x80530009): Exception from HRESULT : 0x80530009 
    at Gecko.nsIDOMDocument.CreateEvent(nsAStringBase eventType) 
    at Gecko.nsString.GenericPass[T,TString](Func`2 func, String value) in c:\Users\micro_000\Documents\Visual Studio 2008\Projects\geckofx-29.0\Geckofx-Core\nsString.cs:line 221 
    at Gecko.nsString.Pass[T](Func`2 func, String value) in c:\Users\micro_000\Documents\Visual Studio 2008\Projects\geckofx-29.0\Geckofx-Core\nsString.cs:line 476 
    at Gecko.GeckoDomDocument.CreateEvent(String name) in c:\Users\micro_000\Documents\Visual Studio 2008\Projects\geckofx-29.0\Geckofx-Core\DOM\GeckoDomDocument.cs:line 155 
    at MyApp.Window.createEvent(GeckoDocument doc, String eventName) 

하지만 nsIDOMDocument 그냥 인터페이스이며, 다른 정보가없는 내가 찾을 수있는이 문제에 사용할 수 있습니다.

+0

는'구글 - chrome' 태그 실수인가? 이것은 Mozilla/Gecko와 엄격하게 관련이있는 것 같습니다. – adv12

+0

GeckoFX의 저장소를 둘러 보았을 때 크롬과 관련이있는 것을 발견했으며 태그를 추가해야한다고 생각했습니다. – Raedok

+0

응용 프로그램의 사용자 인터페이스의 일반적인 의미에서 "크롬"에 대한 참조 일 가능성이 있습니다. 이제 내가 너의 질문에 도움이 될 수만 있다면 ... – adv12

답변

0

CreateEvent는 몇 개의 문자열 만 허용합니다. 그것은 작동하지 않았기 때문에 문서에 삽입하려고하는 Java 스크립트를 호출하여 이벤트를 전달하려고했습니다. "Event"매개 변수와 함께 CreateEvent가 사용 된 것을 확인한 다음 실제 이벤트 이름으로 이벤트를 초기화합니다.

지금까지 CreateEvent에서 작동하는 params는 "Events", "MouseEvent", "KeyboardEvent"입니다.

이 코드는 작동합니다

var eventName = "mouseover"; 
var domEvent = browser.DomDocument.CreateEvent("MouseEvent"); 
domEvent.DomEvent.InitEvent(new nsAString(eventName), true, true); 
관련 문제