在Android Xamarin CrossWalk Webview中从Javascript调用C#函数
Visual Studio的输出中出现错误:在Android Xamarin CrossWalk Webview中从Javascript调用C#函数,javascript,c#,android,xamarin,Javascript,C#,Android,Xamarin,Visual Studio的输出中出现错误: Uncaught TypeError: Foo.run is not a function 尝试在Index.html中运行JavaScript函数以调用C#方法时: 它不起作用,我使用了CrossWalk WebView,因此我添加了: [Org.Xwalk.Core.JavascriptInterface] [Export("Run")] 下面是我用C#编写的完整代码: 我的目标是安卓4.1及以
Uncaught TypeError: Foo.run is not a function
尝试在Index.html中运行JavaScript函数以调用C#方法时:
它不起作用,我使用了CrossWalk WebView,因此我添加了:
[Org.Xwalk.Core.JavascriptInterface]
[Export("Run")]
下面是我用C#编写的完整代码:
我的目标是安卓4.1及以上版本,所以我使用
Java.Lang.IRunnable
正如Xamarin文档所提到的
但单击HTML按钮时输出的结果是:
Uncaught TypeError: Foo.run is not a function
更新
对于任何想在这里建造它的人来说,它是如何与我合作的:
下载项目:
现在,该项目不使用共享人行横道库,但我希望它使用共享库,所以我所做的是在提取整个项目后在项目中编辑这个文件“XWalk.Binding.csproj”
和变化:
<ItemGroup>
<LibraryProjectZip Include="Jars\xwalk_core_library-23.53.589.4-x86.aar" />
</ItemGroup>
致:
并从以下位置下载共享库:
并将其放入XWalk.Binding项目中的Jars文件夹中
然后打开解决方案项目,只需构建整个项目并运行它。。
如果您想要与我一起工作的发布版本,请确保XWalk.Binding项目属性中的选项
在build选项卡中,选中了“define Debug constant”和“define trace constant”,否则在使用c#代码时,它将不会检测到人行横道库
然后构建并运行它,它就会工作…单击我!
<button type="button" onClick="Foo.run()">Click Me!</button>
改为:
<button type="button" onClick="Foo.Run()">Click Me!</button>
点击我!
我试着这样称呼它,它起作用了吗?是的,它起作用了,但你需要将java绑定到c#foo.run()或foo.run()现在起作用了吗?是的,它起作用了,谢谢你foo.run()起作用了。我很高兴它帮助了你。如果你能给我一个分数,我将非常感激
<ItemGroup>
<LibraryProjectZip Include="Jars\xwalk_core_library-23.53.589.4-x86.aar" />
</ItemGroup>
<ItemGroup>
<LibraryProjectZip Include="Jars\xwalk_shared_library-23.53.589.4.aar" />
</ItemGroup>
<button type="button" onClick="Foo.run()">Click Me!</button>
<button type="button" onClick="Foo.Run()">Click Me!</button>