我正在尝试打开一个 URL,它将启动从 Windows Phone 7 PhoneGap 应用程序中的服务器下载文件。
我在 config.xml 中启用了 InAppBrowser 插件,如下所示,并在服务器端添加了相关代码,例如(我希望在系统浏览器中打开 URL)
var ref = window.open(' http://www.xyz.com/download.aspx ', '_system');
但是当我试图打开它时,它会抛出以下异常(来自输出窗口)
System.dll 中出现“System.UriFormatException”类型的第一次机会异常
错误:“语法错误,无法识别的表达式:[data-role='footer']#sfdmfdOptionsNavbar li a# 文件:http ://www.xyz.com/js/jquery/SmartphoneJquery/jquery-2.0.0.js行:1612 "
线程 '' (0xfc108e2) 以代码 0 (0x0) 退出。
mscorlib.dll 中发生了“System.Reflection.TargetInvocationException”类型的第一次机会异常
错误:ProcessCommand 中的异常 :: TargetInvocationException
错误:InvokeMethodNamed :: 在 Object :: InAppBrowser 上打开失败
线程 '' (0xaa5031a) 以代码 0 (0x0) 退出。AppClosing
注意:出于说明目的,我已将原始 ip 更改为 xyz.com。原始 ip 在我的环境中是有效的并且可以在本地正常工作。
以下是调用堆栈中的日志
System.dll!System.Uri.CreateThis(string uri, bool dontEscape, System.UriKind uriKind) + 0xc4 字节
System.dll!System.Uri.Uri(string uriString, System.UriKind uriKind) + 0x1d 字节
WPCordovaClassLib.dll!WPCordovaClassLib .Cordova.Commands.InAppBrowser.ShowSystemBrowser(字符串 url) + 0xe 字节 WPCordovaClassLib.dll!WPCordovaClassLib.Cordova.Commands.InAppBrowser.open(字符串选项) + 0x53 字节 mscorlib.dll!System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection .RuntimeMethodInfo rtmi, object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object parameters, System.Globalization.CultureInfoculture, bool isBinderDefault, System.Reflection.Assembly caller, bool verifyAccess, ref System.Threading.StackCrawlMark堆栈标记)
mscorlib.dll!System.Reflection.RuntimeMethodInfo.InternalInvoke(object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfoculture, ref System.Threading.StackCrawlMark stackMark) + 0x168 字节 mscorlib.dll!System.Reflection.MethodBase.Invoke(object obj, object[] 参数) + 0xa 字节
WPCordovaClassLib.dll!WPCordovaClassLib.Cordova.Commands.BaseCommand.InvokeMethodNamed(string methodName, object[] args) + 0x13 字节
WPCordovaClassLib.dll!WPCordovaClassLib.Cordova.NativeExecution.ProcessCommand.AnonymousMethod__2(object func) + 0x31 bytes mscorlib.dll!System.Threading.ThreadHelper.ThreadStartHelper(System.Threading.ThreadHelper t) + 0x34 bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0xb bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x63 bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStartHelper() + 0x2a 字节
请让我知道出了什么问题。
注意:相同的 URL 在 Windows Phone 7 IE 浏览器中工作正常。