繁体   English   中英

在引导过程中,带有PhoneGap + Angular的Windows Phone 7和8消失

[英]Windows Phone 7 and 8 with PhoneGap + Angular dies during bootstrapping

  • Windows Phone 7或8
  • PhoneGap 3
  • AngularJS 1.2

我有一个使用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中尝试了该应用程序,并且在此处可以正常运行。

所以我的问题是:我该如何调试呢?

我不确定WP7 / 8,但是如果它遵循Windows 8模式,请尝试在angular.js之前添加JQuery 2.0

http://net.tutsplus.com/tutorials/javascript-ajax/building-windows-store-applications-with-jquery-2-0/

我同意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>

我认为此错误无关紧要,因为即使您启动Cordova / Phongap模板应用程序,该错误仍然存​​在(我尝试使用Cordova 2.9.0)。 Visual Studio没有给出任何很好的解释,为什么应用程序未运行,这就是为什么我尝试使用weinre并在用angular-1.0.8重新加载应用程序时得到了以下按摩

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)

在这里报告它成角度

编辑

我设法通过在phonegap WP7中运行了一个基本的角度应用程序(尚未在WP8上对其进行测试),

  1. 从github应用修复程序(我无法发布第二个链接,信誉不足)

    @ github / RobbinHabermehl / angular.js / commit / 2645faad908529b5d33af960270755dd65a9aa78

  2. 包括angular.js上方的jQuery(2.0.3)

  3. 从角度更改代码行

    var xhr = new XHR();

var xhr = new XMLHttpRequest(); 
  1. 在触发cordova deviceready事件后手动引导角度应用程序

我报告说,它在我原来的线程在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM