我正在尝试在 PhoneGap (Cordova) Windows Phone 8 应用程序中从 C# 调用 JavaScript 代码。按照这个接受的答案线程的步骤:如何从 C# 调用 JavaScript - Cordova/PhoneGap
我应该能够访问 Javascript 部分中的方法或执行硬编码的 JS 代码。但是,我遇到了这个错误:
“System.IO.FileNotFoundException”类型的异常发生在 mscorlib.ni.dll 中,并且在托管/本机边界之前未处理
System.Windows.ni.dll 中出现“System.UnauthorizedAccessException”类型的第一次机会异常
An System.Windows.ni.dll 中发生“System.UnauthorizedAccessException”类型的异常,但未在用户代码中处理
在 mscorlib.ni.dll 中发生“System.Reflection.TargetInvocationException”类型的第一次机会异常
“System”类型的异常
.Reflection.TargetInvocationException ' 发生在 mscorlib.ni.dll 中,并且在托管/本机边界之前未处理
错误:无法 InvokeMethodNamed :: pluginMethod on Object :: 示例
我的代码是(是一个原生插件):
namespace WPCordovaClassLib.Cordova.Commands
{
public class Example : Cordova.Commands.BaseCommand
{
public void pluginMethod(string options)
{
//The error is caused in this line
PGWebBrowserHandler.getInstance().webView.CordovaBrowser
.InvokeScript("eval",
new string[] { "alert('Is it running?!');" });
}
}
}
PGWebBrowserHandler
是前面提到的线程中给出的单例类的名称,以便可以CordovaBrowser
从任何 C# 类访问。
错误(FileNotFoundException,
UnauthorizedAccessException
和TargetInvocationException
)不是由InvokeScript()
方法引起的,是以前通过获取webView,
不崩溃但调试它引起的,很多是方法引起的UnauthorizedAccessException.
我希望我的解释清楚。我一直在 Google 中搜索它,但在任何地方都没有找到解决方案或解决方法。有人知道这些问题的原因吗?invokeScript()
从MainPage.cs
也导致异常调用方法。