public void AddEventListener(string type, DOMEventHandler listener, object options) { foreach (var unmanaged in listener.Target?.Wrap().Wraps. Select((c) => c.Get()). Where((c) => typeof(DOMObject).IsAssignableTo(c.GetType())). Select((c) => (DOMObject)c)) { unmanaged.ReadyForManageObject(); } bool addNativeEventListener = false; lock (eventHandlers) { if (!eventHandlers.ContainsKey(type)) { eventHandlers.Add(type, null); addNativeEventListener = true; } eventHandlers[type] += listener; } if (addNativeEventListener) { var UID = NextEventId; AddJSEventListener(type, dispather(type), UID); } }
public Form1() { InitializeComponent(); browser = BrowserFactory.Create(); BrowserView browserView = new WinFormsBrowserView(browser); browser.DialogHandler = new WinFormsDefaultDialogHandler((Control)browserView); this.Controls.Add((Control)browserView.GetComponent()); browserView.Browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e) { if (e.IsMainFrame) { DOMDocument document = e.Browser.GetDocument(); DOMElement link3Element = document.GetElementById("link3"); DOMEventHandler link3Event = delegate(object domEventSender, DOMEventArgs domEventArgs) { if (domEventArgs.Type == DOMEventType.OnFocus) { Console.Out.WriteLine("link3 gets focus"); } if (domEventArgs.Type == DOMEventType.OnBlur) { Console.Out.WriteLine("Remove focus from link3"); } }; link3Element.AddEventListener(DOMEventType.OnFocus | DOMEventType.OnBlur, link3Event, false); DOMElement elementFocused = null; foreach (DOMElement element in document.GetElementsByTagName("a")) { Thread.Sleep(2000); element.Focus(); elementFocused = element; } if (elementFocused != null) { Thread.Sleep(2000); elementFocused.Blur(); } } }; browserView.Browser.LoadHTML(@"<html> <body> <a id='link1' href='#'>The link 1</a> <a id='link2' href='#'>The link 2</a> <a id='link3' href='#'>The link 3</a> <script type='text/javascript'> var link2 = document.getElementById('link2'); link2.addEventListener('focus', function () { console.log('link2 gets focus'); }); link2.addEventListener('blur', function () { console.log('Remove focus from link2'); }); </script> </body> </html>"); }
public Form1() { InitializeComponent(); //Change address bar by event OnClick DOMEventHandler domEvent = delegate(object sender1, DOMEventArgs e1) { DOMEventType eventType = e1.Type; }; browserView.Browser.FinishLoadingFrameEvent += delegate(object sender2, FinishLoadingEventArgs e2) { if (e2.IsMainFrame) { DOMDocument document = e2.Browser.GetDocument(); DOMElement documentElement = document.DocumentElement; documentElement.AddEventListener(DOMEventType.OnClick, domEvent, false); } try { //toolStripDebug.Text = browserView.Browser.GetDocument().GetElementByClassName("cdr_frm").GetElementByTagName("input").GetAttribute("value").ToString(); toolStripAddress.Text = browserView.Browser.URL.ToString(); this.Text = browserView.Browser.Title; } catch { } }; }
public void AddEventListener(string eventType, DOMEventHandler handler) { if (eventType == null) { return; } if (handler == null) { return; } var sendListen = false; List <DOMEventHandler> handlers; lock (domEventListeners) { if (!domEventListeners.TryGetValue(eventType, out handlers)) { handlers = new List <DOMEventHandler> (); domEventListeners[eventType] = handlers; sendListen = true; } handlers.Add(handler); } if (sendListen) { Send(new Message { MessageType = MessageType.Listen, TargetId = Id, Key = eventType, }); } }
public Form1() { InitializeComponent(); browser = BrowserFactory.Create(); BrowserView browserView = new WinFormsBrowserView(browser); browserView.Browser.DialogHandler = new WinFormsDefaultDialogHandler((Control)browserView.GetComponent()); this.Controls.Add((Control)browserView.GetComponent()); DOMEventHandler domEvent = delegate(object sender, DOMEventArgs e) { DOMEventType eventType = e.Type; Console.Out.WriteLine("handleEvent = " + eventType); }; browserView.Browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e) { if (e.IsMainFrame) { DOMDocument document = e.Browser.GetDocument(); DOMElement documentElement = document.DocumentElement; documentElement.AddEventListener(DOMEventType.OnClick | DOMEventType.OnMouseDown | DOMEventType.OnMouseUp | DOMEventType.OnKeyDown, domEvent, false); } }; browserView.Browser.LoadURL("http://www.teamdev.com"); }
public HTMLFormElement() { Init("FORM"); Elements = new HTMLFormControlsCollection(); OnReset = new DOMEventHandler <HTMLFormEventReset>(this); OnSubmit = new DOMEventHandler <HTMLFormEventSubmit>(this); }
//void keyHook_KeyDown(object sender, KeyEventArgs e) //{ } //void keyHook_KeyUp(object sender, KeyEventArgs e) //{ } //void keyHook_KeyPress(object sender, KeyPressEventArgs e) //{ // MessageBox.Show(e.KeyChar.ToString()); //} //void mousehook_Click(object sender, MouseEventArgs e) //{ // if (UserBar.instance != null) // { // //Get Web Browser // if (Recorder.HostInstance != null && Recorder.HostInstance.BrowserRef != null) // { // IWebBrowser2 ActiveBrowser = Recorder.HostInstance.BrowserRef as SHDocVw.IWebBrowser2; // if (ActiveBrowser != null) // { // //Get the current document // HTMLDocument htmlDoc = (HTMLDocument)ActiveBrowser.Document; // if (htmlDoc != null) // { // DispHTMLDocument doc = (DispHTMLDocument)htmlDoc; // //Record the basic Url // string address = ActiveBrowser.LocationURL; // //Get // IHTMLElement activeElement = doc.activeElement; // if (activeElement.tagName != null) // { // //do something // //then do the right thing // } // } // } // } // } //} //void mouseHook_MouseMove(object sender, MouseEventArgs e) //{ } //void mouseHook_MouseDown(object sender, MouseEventArgs e) //{ } //void mouseHook_MouseUp(object sender, MouseEventArgs e) //{ //} //void mouseHook_MouseWheel(object sender, MouseEventArgs e) //{ } //[DllImport("user32.dll")] //static extern IntPtr GetForegroundWindow(); //[DllImport("user32.dll")] //static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); //private string GetActiveWindowTitle() //{ // const int nChars = 256; // IntPtr handle = IntPtr.Zero; // StringBuilder Buff = new StringBuilder(nChars); // handle = GetForegroundWindow(); // if (GetWindowText(handle, Buff, nChars) > 0) // { // return Buff.ToString(); // } // return null; //} //private const int WH_KEYBOARD_LL = 13; //protected const int WH_MOUSE_LL = 14; //protected const int WH_MOUSE = 7; //protected const int WH_KEYBOARD = 2; //protected const int WM_MOUSEMOVE = 0x200; //protected const int WM_LBUTTONDOWN = 0x201; //protected const int WM_RBUTTONDOWN = 0x204; //protected const int WM_MBUTTONDOWN = 0x207; //protected const int WM_LBUTTONUP = 0x202; //protected const int WM_RBUTTONUP = 0x205; //protected const int WM_MBUTTONUP = 0x208; //protected const int WM_LBUTTONDBLCLK = 0x203; //protected const int WM_RBUTTONDBLCLK = 0x206; //protected const int WM_MBUTTONDBLCLK = 0x209; //protected const int WM_MOUSEWHEEL = 0x020A; //protected const int WM_KEYDOWN = 0x100; //protected const int WM_KEYUP = 0x101; //protected const int WM_SYSKEYDOWN = 0x104; //protected const int WM_SYSKEYUP = 0x105; //protected const byte VK_SHIFT = 0x10; //protected const byte VK_CAPITAL = 0x14; //protected const byte VK_NUMLOCK = 0x90; //protected const byte VK_LSHIFT = 0xA0; //protected const byte VK_RSHIFT = 0xA1; //protected const byte VK_LCONTROL = 0xA2; //protected const byte VK_RCONTROL = 0x3; //protected const byte VK_LALT = 0xA4; //protected const byte VK_RALT = 0xA5; //protected const byte LLKHF_ALTDOWN = 0x20; //private static LowLevelMouseProc _proc = HookCallback; //private static IntPtr _hookID = IntPtr.Zero; //private static IntPtr SetHook(LowLevelMouseProc proc) //{ // using (Process curProcess = Process.GetCurrentProcess()) // using (ProcessModule curModule = curProcess.MainModule) // { // IntPtr handle = GetModuleHandle(curModule.ModuleName); // IntPtr ret = SetWindowsHookEx(WH_MOUSE_LL, proc, // handle, 0); // //MessageBox.Show(Marshal.GetLastWin32Error().ToString()); // return ret; // } //} //private delegate IntPtr LowLevelMouseProc( // int nCode, IntPtr wParam, IntPtr lParam); //private static IntPtr HookCallback( // int nCode, IntPtr wParam, IntPtr lParam) //{ // if (nCode >= 0 && wParam == (IntPtr)WM_LBUTTONUP) // { // int vkCode = Marshal.ReadInt32(lParam); // //Console.WriteLine((Keys)vkCode); // if (UserBar.instance != null) // { // //Get Web Browser // if (Recorder.HostInstance != null && Recorder.HostInstance.BrowserRef != null) // { // IWebBrowser2 ActiveBrowser = Recorder.HostInstance.BrowserRef as SHDocVw.IWebBrowser2; // if (ActiveBrowser != null) // { // //Get the current document // HTMLDocument htmlDoc = (HTMLDocument)ActiveBrowser.Document; // if (htmlDoc != null) // { // DispHTMLDocument doc = (DispHTMLDocument)htmlDoc; // //Record the basic Url // string address = ActiveBrowser.LocationURL; // //Get // IHTMLElement activeElement = doc.activeElement; // if (activeElement != null) // { // MessageBox.Show(activeElement.tagName); // } // } // } // } // } // } // return CallNextHookEx(_hookID, nCode, wParam, lParam); //} //[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] //private static extern IntPtr SetWindowsHookEx(int idHook, // LowLevelMouseProc lpfn, IntPtr hMod, uint dwThreadId); //[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] //[return: MarshalAs(UnmanagedType.Bool)] //private static extern bool UnhookWindowsHookEx(IntPtr hhk); //[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] //private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, // IntPtr wParam, IntPtr lParam); //[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] //private static extern IntPtr GetModuleHandle(string lpModuleName); //void HookMouseUp(object sender, Microsoft.Win32.MouseHookEventArgs e) //{ // if (UserBar.instance != null) // { // //Get Web Browser // if (Recorder.HostInstance != null && Recorder.HostInstance.BrowserRef != null) // { // IWebBrowser2 ActiveBrowser = Recorder.HostInstance.BrowserRef as SHDocVw.IWebBrowser2; // if (ActiveBrowser != null) // { // //Get the current document // HTMLDocument htmlDoc = (HTMLDocument)ActiveBrowser.Document; // if (htmlDoc != null) // { // DispHTMLDocument doc = (DispHTMLDocument)htmlDoc; // //Record the basic Url // string address = ActiveBrowser.LocationURL; // //Get // IHTMLElement activeElement = doc.activeElement; // if (activeElement != null) // { // MessageBox.Show(activeElement.tagName); // } // } // } // } // } //} void Recorder_OnDocumentComplete(object pDisp, ref object url) { if (UserBar.instance != null) { //Get Web Browser if (Recorder.HostInstance != null && Recorder.HostInstance.BrowserRef != null) { IWebBrowser2 ActiveBrowser = Recorder.HostInstance.BrowserRef as SHDocVw.IWebBrowser2; if (ActiveBrowser != null) { //Get the current document HTMLDocument htmlDoc = (HTMLDocument)ActiveBrowser.Document; DispHTMLDocument doc = (DispHTMLDocument)htmlDoc; //Record the basic Url string address = ActiveBrowser.LocationURL; if (htmlDoc != null) { //Bind events DOMEventHandler onclickhandler = new DOMEventHandler(doc, null); onclickhandler.NewEventHandlers += new DOMEvent(DOMEventMethods._click); doc.onclick = onclickhandler; DOMEventHandler onclickhandler1 = new DOMEventHandler(doc, doc.onclick); onclickhandler1.NewEventHandlers += new DOMEvent(DOMEventMethods._link_click); doc.onmouseup = onclickhandler1; //Bind Href Click //foreach (mshtml.HTMLAnchorElement link in htmlDoc.anchors) //{ // ((HTMLAnchorEvents_Event)link).onmouseup += new HTMLAnchorEvents_onmouseupEventHandler(() => // { // DOMEventMethods._link_click(link); // //return true; // }); //} //Bind IFrame events //IHTMLElementCollection elems = htmlDoc.getElementsByTagName("iframe"); //foreach (IHTMLElement elem in elems) //{ // HTMLFrameElement frm = (HTMLFrameElement)elem; // DispHTMLDocument frm_doc = (DispHTMLDocument)((SHDocVw.IWebBrowser2)frm).Document; // DOMEventHandler onclickfrmhandler = new DOMEventHandler(frm_doc); // onclickfrmhandler.Handler += new DOMEvent(DOMEventMethods._click); // (frm as DispHTMLDocument).onclick = onclickfrmhandler; //} } } } } }
public void AddEventListener(string type, DOMEventHandler listener, object options) { bool addNativeEventListener = false; lock (eventHandlers) { if (!eventHandlers.ContainsKey(type)) { eventHandlers.Add(type, null); addNativeEventListener = true; } eventHandlers[type] += listener; } if (addNativeEventListener) { var UID = NextEventId; AddJSEventListener(type, dispather(type), UID); } }
public void RemoveEventListener(string eventType, DOMEventHandler handler) { if (eventType == null) { return; } if (handler == null) { return; } List <DOMEventHandler> handlers; lock (domEventListeners) { if (domEventListeners.TryGetValue(eventType, out handlers)) { handlers.Remove(handler); } } }
public WindowMain() { Browser browser = BrowserFactory.Create(); browserView = new WPFBrowserView(browser); browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e) { if (e.IsMainFrame) { DOMDocument document = e.Browser.GetDocument(); var myEvent = browser.CreateEvent("MyEvent"); DOMNode root = document.GetElementById("root"); DOMEventHandler domEvent = delegate(object s, DOMEventArgs evt) { if (evt.EventType == myEvent.EventType) { DOMNode textNode = document.CreateTextNode("Some text"); DOMElement paragraph = document.CreateElement("p"); paragraph.AppendChild(textNode); root.AppendChild(paragraph); } }; root.AddEventListener(myEvent, domEvent, false); Thread.Sleep(3000); root.DispatchEvent(myEvent); } }; Content = browserView; Width = 1024; Height = 768; this.Loaded += WindowMain_Loaded; }
private void _BindDomEvent(DispHTMLDocument doc) { DOMEventHandler onclickHandler = new DOMEventHandler(doc, null); onclickHandler.NewEventHandlers += new DOMEvent(_click); doc.onmouseup = onclickHandler; DOMEventHandler onmouseoverHandler = new DOMEventHandler(doc, null); onmouseoverHandler.NewEventHandlers += new DOMEvent(_mouseover); doc.onmouseover = onmouseoverHandler; DOMEventHandler onmouseoutHandler = new DOMEventHandler(doc, null); onmouseoutHandler.NewEventHandlers += new DOMEvent(_mouseout); doc.onmouseout = onmouseoutHandler; DOMEventHandler onkeyupHandler = new DOMEventHandler(doc, null); onkeyupHandler.NewEventHandlers += new DOMEvent(_keyup); doc.onkeyup = onkeyupHandler; }
public void AddEventListener(string type, DOMEventHandler listener, object options) { bool addNativeEventListener = false; lock (eventHandlers) { if (!eventHandlers.ContainsKey(type)) { eventHandlers.Add(type, null); addNativeEventListener = true; } eventHandlers[type] += listener; } if (addNativeEventListener) { string UID = RuntimeUtilities.NextUID.ToString(); RuntimeEventManager.RegisterEventTarget(UID, this); var addEventListerFor = "MonoWasmBrowserAPI.mono_wasm_addEventListener(" + Handle + ",\"" + type + "\",\"" + UID + "\")"; var res = Runtime.ExecuteJavaScript(addEventListerFor); } }
/// <summary> /// Add an asynchronous test to run. The test must include a call to start(). /// </summary> /// <param name="name">The name of the test</param> /// <param name="expected">How many assertions are expected to run.</param> /// <param name="test">The actual testing code to run, should include at least one assertion.</param> public static void AsyncTest(string name, int expected, DOMEventHandler test) { }
/// <summary> /// Add an asynchronous test to run. The test must include a call to start(). /// </summary> /// <param name="name">The name of the test</param> /// <param name="test">The actual testing code to run, should include at least one assertion.</param> public static void AsyncTest(string name, DOMEventHandler test) { }
public void RemoveEventListener(string type, DOMEventHandler listener, object options) { throw new NotImplementedException(); }
public jQuery Keydown(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Keypress(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Mouseup(DOMEventHandler handler) { return(new jQuery()); }
public jQuery One(string fnType, object data, DOMEventHandler handler) { return(new jQuery()); }
public jQuery Resize(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Hover(DOMEventHandler handlerOver, DOMEventHandler handlerOut) { return(new jQuery()); }
public jQuery Scroll(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Unload(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Unbind(string fnType, DOMEventHandler handler) { return(new jQuery()); }
public jQuery Toggle(DOMEventHandler handler) { return(new jQuery()); }
public jQuery Submit(DOMEventHandler handler) { return(new jQuery()); }
public void RemoveEventListener(string type, DOMEventHandler listener, object options) { InvokeMethod <object>("removeEventListener", type, listener, options); }
public jQuery Error(DOMEventHandler handler) { return(new jQuery()); }
public void RemoveEventListener(string type, DOMEventHandler listener, object options) { }
public jQuery Focus(DOMEventHandler handler) { return(new jQuery()); }