我有一个使用AngularJS的PhoneGap应用程序,在iOS和Android上运行良好,但我在使用Windows Phone 7和8时遇到问题。
该应用程序启动正常,我看到我的index.html页面(在我的情况下只是一个加载屏幕)。加载源文件,我的预启动代码运行正常。
然后停止,没有任何反应。
我在整个代码中散布了“console.log”消息,我发现它已经到了angular.bootstrap()
然后就死了。我不熟悉angular以了解下一步该做什么或如何进一步调试以跟踪绝对问题代码可能是什么。在bootstrap()内部开始DI调用的迷宫,因此代码变得更不线性。
我确实在控制台中看到了这个错误,但不知道它意味着什么或如何解决它:
An exception of type 'System.NotSupportedException' occurred in Microsoft.Phone.ni.dll and wasn't handled before a managed/native boundary
没有其他错误或任何输出记录到控制台。我尝试使用setTimeout将所有引导代码延迟10秒,并且在调用angular.bootstrap()
之前始终报告该错误,因此我不知道它是否甚至是相关的。
另外值得注意的是,我已经在桌面上的IE中尝试过该应用程序,并且在那里工作正常。
所以我的问题是:我该如何调试呢?
答案 0 :(得分:2)
我不确定WP7 / 8但是如果它遵循Windows 8模式尝试在angular.js之前添加JQuery 2.0
答案 1 :(得分:1)
我同意Jason,使用Windows特殊/自定义jQuery。并添加unsafe=true
<script src="js/jquery-1.8.2-win8-1.0.min.js"></script>
<script type="text/javascript">
jQuery.isUnsafe = true;
</script>
Windows 8补丁的功能已包含在jQuery 2.0中。所以可以以相同的方式使用jQuery 2.0,它将工作'。
所以你也可以使用:
<script src="/lib/jquery-2.0.0.min.js"></script>
<script>
jQuery.isUnsafe = true;
</script>
答案 2 :(得分:1)
我不认为这个错误是相关的,因为即使您启动Cordova / Phongap模板应用程序(我尝试使用Cordova 2.9.0)它也存在。 Visual Studio没有给出任何好的解释为什么应用程序没有运行,这就是为什么我尝试了weinre并在角度为1.0.8的app reloade上得到了以下按摩
Error: Access is denied.
at hookedFunction (http://"my-weinre-ip":8080/target/target-script-min.js#ddtest:551:1)
at Anonymous function (x-wmapp0://www/components/angular/angular.js:9457:7)
at sendReq (x-wmapp0://www/components/angular/angular.js:9334:9)
at $http (x-wmapp0://www/components/angular/angular.js:9125:7)
at Anonymous function (x-wmapp0://www/components/angular/angular.js:9268:11)
at Anonymous function (x-wmapp0://www/components/angular/angular.js:7592:17)
at wrappedCallback (x-wmapp0://www/components/angular/angular.js:6996:15)
at wrappedCallback (x-wmapp0://www/components/angular/angular.js:6996:15)
at Anonymous function (x-wmapp0://www/components/angular/angular.js:7033:11)
at $eval (x-wmapp0://www/components/angular/angular.js:8219:9)
我将其报告给了角here
修改强>
我设法在phonegap WP7中运行了一个基本的角度应用程序(尚未在WP8上测试)
从github申请修复(我不能发布第二个链接没有足够的声誉)
@ github上/ RobbinHabermehl / angular.js /提交/ 2645faad908529b5d33af960270755dd65a9aa78
包括angular.js
以角度从
更改代码行var xhr = new XHR();
到
var xhr = new XMLHttpRequest();
我在原始帖子here
中报告了这一点