2013-08-29 28 views
8
  • Windows Phone 7 hoặc 8
  • PhoneGap 3
  • AngularJS 1,2

Tôi có một ứng dụng PhoneGap sử dụng AngularJS rằng hoạt động tốt trên iOS và Android, nhưng tôi gặp sự cố khi thiết bị hoạt động trên Windows Phone 7 và 8.Windows Phone 7 và 8 với PhoneGap + kiễu góc chết trong bootstrapping

Ứng dụng khởi động tốt và tôi thấy trang index.html (trong trường hợp của tôi chỉ là màn hình tải). Tệp nguồn được tải và mã tiền khởi động của tôi đang chạy tốt.

Sau đó, nó dừng lại và không có gì xảy ra.

Tôi đã rải rác "console.log" tin nhắn trong suốt mã và tôi thấy nó được chuyển đến điểm angular.bootstrap() và sau đó chết. Tôi không quen thuộc với góc cạnh để biết phải làm gì tiếp theo hoặc làm thế nào để gỡ lỗi này thêm để theo dõi những gì các mã vấn đề tuyệt đối có thể được. Bên trong bootstrap() bắt đầu mê cung của các cuộc gọi DI để mã trở nên ít tuyến tính hơn nhiều.

tôi thấy lỗi này trong giao diện điều khiển nhưng không có ý tưởng những gì nó có nghĩa là hoặc làm thế nào để sửa chữa nó:

An exception of type 'System.NotSupportedException' occurred in Microsoft.Phone.ni.dll and wasn't handled before a managed/native boundary 

Không có lỗi khác hoặc bất kỳ sản lượng được đăng nhập vào giao diện điều khiển. Tôi đã cố gắng trì hoãn tất cả các mã khởi động của tôi bằng 10 giây với một setTimeout và lỗi đó luôn luôn được báo cáo trước khi angular.bootstrap() được gọi, vì vậy tôi không biết nếu nó thậm chí có liên quan.

Cũng đáng chú ý là tôi đã thử ứng dụng trong IE trên máy tính để bàn và hoạt động tốt ở đó.

Vì vậy, câu hỏi của tôi là: Làm thế nào để tôi gỡ lỗi này?

+0

Bạn có một stack trace khi bạn thử chạy nó? –

+0

Bạn đã bao giờ tìm ra giải pháp cho vấn đề của mình chưa? Tôi có một vấn đề rất giống nhau, mặc dù tôi không bao giờ thấy bất kỳ lỗi nào trong bảng điều khiển. Tôi đã xác định vị trí một vấn đề với dòng này trong Angular: 'var injector = createInjector (modules);' có vẻ thất bại nếu tôi có phụ thuộc trong mô-đun ứng dụng của tôi, nhưng dường như chạy mà không có chúng. Tôi vẫn nhận được một màn hình trống một trong hai cách. – Gregir

+0

Tôi nghĩ rằng tôi có thể tìm ra giải pháp cho vấn đề này. Tôi đã có thể có được một ví dụ đơn giản và chạy, tôi đã đăng một số đoạn mã về chuỗi github này tại đây: https://github.com/angular/angular.js/issues/4288, nếu mọi người quan tâm tôi có thể đặt một mẫu ứng dụng trên github của tôi để mọi người có thể xem mã nguồn nhưng bạn sẽ có thể làm cho nó hoạt động với các đoạn tôi đã đăng, nó hoạt động với tôi với góc 1,2, cửa sổ điện thoại 8 và phonegap 3.2 RC1 –

Trả lời

1

Tôi đồng ý với Jason, sử dụng Windows đặc biệt/tùy chỉnh jQuery. Và thêm unsafe=true

<script src="js/jquery-1.8.2-win8-1.0.min.js"></script> 
<script type="text/javascript"> 
jQuery.isUnsafe = true; 
</script> 

Chức năng của bản vá lỗi Windows 8 đã được đưa vào jQuery 2.0. Vì vậy, chỉ có thể sử dụng jQuery 2.0 trong cùng một cách, và nó sẽ làm việc '.

Vì vậy, bạn cũng có thể sử dụng:

<script src="/lib/jquery-2.0.0.min.js"></script> 
<script> 
jQuery.isUnsafe = true; 
</script> 
1

Tôi không nghĩ rằng lỗi này là có liên quan vì nó hiện diện ngay cả khi bạn bắt đầu Cordova/Phongap mẫu ứng dụng (Tôi đã thử với Cordova 2.9.0). Visual Studio không cung cấp cho bất kỳ lời giải thích tốt lý do tại sao ứng dụng không chạy, đó là lý do tại sao tôi đã thử weinre và nhận được massage sau trên ứng dụng reloade với góc-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) 

Tôi đã báo cáo nó để góc here

EDIT

tôi quản lý để có được một ứng dụng cơ bản góc chạy trong PhoneGap WP7 (chưa được thử nghiệm nó chưa về WP8) bởi

  1. áp dụng sửa chữa từ github (Tôi không thể đăng liên kết thứ hai không đủ danh tiếng)

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

  2. bao gồm jquery (2.0.3) trên angular.js

  3. thay đổi dòng mã trong góc từ

    var XHR = XHR mới();

để

var xhr = new XMLHttpRequest(); 
  1. tay bootstrapping ứng dụng góc sau sự kiện deviceready cordova bắn

tôi báo cáo nó trong chủ đề ban đầu của tôi here

+0

Tôi trả lời chủ đề ban đầu của bạn trong github, tôi đã có thể nhận được định tuyến làm việc sau nhiều nỗ lực và nó đã làm với url của danh sách trắng trong cấu hình như góc cho một số lý do không tin tưởng chúng trong các ứng dụng WP8. Nếu nó giải quyết vấn đề của bạn cho tôi biết và tôi sẽ đăng nó ở đây cũng như một giải pháp, nó làm việc cho tôi nhưng không chắc chắn nó sẽ làm việc cho tất cả mọi người –