按照这里的例子:JSContext我收到以下异常:{TypeError: myCSharpObject.myFunc is not a function. (In 'myCSharpObject.myFunc()', 'myCSharpObject.myFunc' is undefined)} 我的代码如下: JSContext _context; _context = new JSContext(); var jsCallback = new MyJSExporter(); _context[(NSString)"myCSharpObject"] = JSValue.From(jsCallback, _context); var result = _context.EvaluateScript("myCSharpObject.myFunc();");协议定义为:[Protocol] interface IMyJSVisibleProtocol : IJSExport { [Export("myFunc")] int MyFunc(); [Export("Arity2:With:")] NSObject Arity2With(NSObject arg1, NSObject arg2); } class MyJSExporter : NSObject, IMyJSVisibleProtocol { public int MyFunc() { Console.WriteLine("Called!"); return 42; } public NSObject Arity2With(NSObject arg1, NSObject arg2) { Console.WriteLine("Arity 2 function called with " + arg1 + " " + arg2); return (NSNumber)42; } }异常处理程序为: _context.ExceptionHandler = (context, exception) => { // {TypeError: myCSharpObject.myFunc is not a function. (In 'myCSharpObject.myFunc()', 'myCSharpObject.myFunc' is undefined)} };
2 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
您使用了错误的 JSContext。在您的代码中,您正在初始化新的 JSContext。相反,您希望从您在 webView 中加载的文档中获取 JSContext :var context = (JSContext)webView.ValueForKeyPath((NSString)"documentView.webView.mainFrame.javaScriptContext");
- 2 回答
- 0 关注
- 220 浏览
添加回答
举报
0/150
提交
取消