private bool OnNavigation(IntPtr webView, IntPtr param, wkeNavigationType navigationType, IntPtr urlPtr) { if (Navigation != null) { var c = (int)navigationType; var url = ExtApi.GetWkeString(urlPtr); var res = Navigation(this, (NavigationType)c, url); if (res) { List <Control> controls = new List <Control>(); foreach (Control cs in Controls) { controls.Add(cs); } Controls.Clear(); foreach (var item in controls) { //释放通过js创建的控件 item.Dispose(); } Browser.Current.ClearViewObject(_webView); } return(res); } return(true); }
IntPtr OnwkeCreateViewCallback(IntPtr webView, IntPtr param, wkeNavigationType navigationType, IntPtr url) { if (OnCreateViewEvent != null) { return(OnCreateViewEvent(webView, param, navigationType, BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString())); } else { Console.WriteLine("OnwkeCreateViewCallback url:" + BlinkBrowserPInvoke.wkeGetString(url).Utf8IntptrToString()); Console.WriteLine("OnwkeCreateViewCallback navigationType:" + navigationType); return(webView); } }
bool OnwkeNavigationCallback(IntPtr webView, IntPtr param, wkeNavigationType navigationType, IntPtr url) { IntPtr urlPtr = BlinkBrowserPInvoke.wkeGetStringW(url); Console.WriteLine(navigationType); Console.WriteLine("OnwkeNavigationCallback:URL:" + Marshal.PtrToStringUni(urlPtr)); if (OnUrlNavigationCall != null) { OnUrlNavigationCall(Marshal.PtrToStringUni(urlPtr)); } return(true); }
private IntPtr Browser_OnCreateViewEvent(IntPtr webView, IntPtr param, wkeNavigationType navigationType, string url) { return(CreateNewTab().handle); }
private IntPtr BlinkBrowser1_OnCreateViewEvent(IntPtr webView, IntPtr param, wkeNavigationType navigationType, string url) { Console.WriteLine("----"); return(IntPtr.Zero); }
IntPtr OnwkeCreateViewCallback(IntPtr webView, IntPtr param, wkeNavigationType navigationType, IntPtr url) { Console.WriteLine("OnwkeCreateViewCallback url:" + wkeGetString(url).Utf8IntptrToString()); Console.WriteLine("OnwkeCreateViewCallback navigationType:" + navigationType); return(webView); }