/// <summary> /// Registers C# class in V8 repository, this is called once per session. /// </summary> /// <param name="sender">Browser.</param> /// <param name="e">Event arguments.</param> private static void JavascriptObjectRepository_ResolveObject(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { if (e.ObjectName == JsBridgeName) { e.ObjectRepository.Register(JsBridgeName, new TestJsRepo(), true); } }
/// <summary> /// 绑定JS对象事件 /// </summary> private void JavascriptObjectRepository_ResolveObject(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { var repo = e.ObjectRepository; switch (e.ObjectName) { case "bound": repo.Register("bound", new BoundObject() { OnOk = OnOk, OnClose = OnClose, OnClear = OnClear }, isAsync: false, options: BindingOptions.DefaultBinder); break; case "boundAsync": repo.Register("boundAsync", new BoundObject() { OnOk = OnOk, OnClose = OnClose, OnClear = OnClear }, isAsync: true, options: BindingOptions.DefaultBinder); break; default: break; } }
private void JavascriptObjectRepository_ResolveObject(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { //Trace.WriteLine($"=== Resolve request for: {e.ObjectName}"); var objName = e.ObjectName; var ps = objName.Split('_'); if (ps.Length < 2) { return; } var identifier = long.Parse(ps[1]); if (CBrowser.JavascriptObjectRepository.IsBound(objName)) { CBrowser.JavascriptObjectRepository.UnRegister(objName); //Trace.WriteLine($"=== Unregister: {objName}"); } //Trace.WriteLine($"=== Register: {objName}"); var fr = _framesDict[identifier]; var syncObj = fr.SyncObject; CBrowser.JavascriptObjectRepository.Register(syncObj.BindName, syncObj, true); }
private void JavascriptObjectRepository_ResolveObject(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { switch (e.ObjectName) { case "solver": e.ObjectRepository.Register("solver", solver, true); break; } }
private void JavascriptObjectRepository_ResolveObject(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { var repo = e.ObjectRepository; if (e.ObjectName == "CS") { BindingOptions bindingOptions = BindingOptions.DefaultBinder; bindingOptions.CamelCaseJavascriptNames = false; repo.Register("CS", new AppBinding(), isAsync: false, options: bindingOptions); } }
private void JavascriptObjectRepository_ObjectBoundInJavascript(object sender, CefSharp.Event.JavascriptBindingEventArgs e) { var x = e.ObjectName; }