public void GetText(Action <string> strCallback) { using (var bw = _myCefBw.GetBrowser()) using (var frame1 = bw.GetMainFrame()) { //List<long> idens = new List<long>(); //bw.GetFrameIdentifiers(idens); //test only MyCefCallback visitorCallback = (int methodId, IntPtr nativeArgs) => { //wrap with the specific pars //var pars = new Auto.CefStringVisitor(nativeArgs); //string data = pars._string; //MyCefNativeMetArgs metArgs = new MyCefNativeMetArgs(nativeArgs); //if (metArgs.GetArgCount() == 1) //{ // JsValue value; // metArgs.GetArg(1, out value); // string data = Cef3Binder.MyCefJsReadString(ref value); //} }; Auto.CefStringVisitor visitor = Auto.CefStringVisitor.New(visitorCallback); frame1.GetText(visitor); //keep alive callback //InternalGetText((id, nativePtr) => //{ // //INIT_MY_MET_ARGS(metArgs, 1) // //SetCefStringToJsValue2(&vargs[1], string); // var args = new NativeCallArgs(nativePtr); // strCallback(args.GetArgAsString(1)); //}); //Cef3Binder.MyCefDomGetTextWalk(this.myCefBrowser, strCallback); } }
public void GetSource2(Action <string> strCallback) { Auto.CefStringVisitor visitor = Auto.CefStringVisitor.New((id, ptr) => { //NativeCallArgs args = new NativeCallArgs(ptr); //var text = args.GetArgAsString(1); }); using (var bw = _myCefBw.GetBrowser()) using (var myframe = bw.GetMainFrame()) { string url = myframe.GetURL(); myframe.GetText(visitor); Auto.CefStringVisitor visitor2 = Auto.CefStringVisitor.New((id, ptr) => { //NativeCallArgs args = new NativeCallArgs(ptr); //var text = args.GetArgAsString(1); }); myframe.GetSource(visitor2); } }