2012-03-04 30 views
6

Tôi muốn bao gồm một đoạn mã được lưu trữ trên web để hoạt động như một tiện ích con trong ứng dụng tàu điện ngầm của mình. Mục tiêu là để có thể duy trì trạng thái của tiện ích bên ngoài ứng dụng metro để thay đổi mã tiện ích không yêu cầu đóng gói lại và xuất bản lên cửa hàng ứng dụng.Các tệp javascript được lưu trữ trên web có thể được bao gồm trong các ứng dụng metro không?

ví dụ: (Trong tập tin html của tôi trong ứng dụng metro)

<script type="text/javascript" src="https://link.to.website/widget.js"> 
+2

Nếu bạn làm điều này, hãy đảm bảo nó hoạt động mà không cần truy cập internet, hoặc nó có thể sẽ bị từ chối từ cửa hàng. – parkovski

Trả lời

9

Điều quan trọng là phải hiểu sự khác biệt giữa ngữ cảnh cục bộ và web. Các hạn chế cụ thể được ghi lại ở đây: http://msdn.microsoft.com/en-us/library/windows/apps/hh465373.aspx - điều đáng chú ý là bạn có thể chỉ bao gồm tệp tập lệnh bên ngoài từ các trang chạy trong ngữ cảnh web.

Ngoài ra, ứng dụng của bạn luôn phải có trang cấp cao nhất nằm trong gói của bạn. Trang này phải ở trong ngữ cảnh cục bộ và được tải thông qua lược đồ ms-appx. Trang bên ngoài này có thể chọn các trang iframe được tải trong ngữ cảnh web (qua ms-appx-web cho các tệp trong gói hoặc qua http/https cho các trang được lưu trữ trên web.)

Điều bạn nên ghi nhớ là mặc dù bạn có thể tải tập lệnh bên ngoài vào một trang ngữ cảnh web, tập lệnh đó không thể truy cập các API Windows Runtime. Nếu bạn muốn kịch bản bên ngoài của mình có thể gọi WinRT, bạn có thể tạo kênh giao tiếp bằng cách sử dụng HTML5 Web Messaging APIs.

1

Nếu các ứng dụng metro cho phép bạn kết nối với mạng (nếu ứng dụng không giới hạn địa phương chỉ hoặc tương tự) rằng nên thực hiện được.

Ngoài ra:

<script src="https://link.to.website/widget.js"></script> 

không

<script type="text/javascript" src="https://link.to.website/widget.js"> 

Kể từ khi JavaScript là loại tiêu chuẩn cho kịch bản, bạn không cần phải tuyên bố rằng hiện nay.

Các vấn đề liên quan