2012-02-20 32 views
6

Tôi đã tìm thấy article để lướt qua điều này. Nhưng câu hỏi chính của tôi là tôi có cần một tệp .html riêng cho mỗi màn hình không? Tôi đang nghĩ có nhưng tôi muốn có một cuộc bỏ phiếu nhất trí. Ngoài ra, điều đó cũng có cho các tệp JS riêng biệt không?Thực hành tốt nhất là gì để tổ chức một ứng dụng jQuery Mobile?

Chỉnh sửa: Ứng dụng JQM về cơ bản là dành cho người dùng và vai trò quản trị viên.

+6

Rất ít việc phải làm với "thực hành tốt nhất" có "phiếu bầu thống nhất". – Chad

Trả lời

10

Chúng tôi có một trang web sản xuất jQM đây là cách chúng tôi làm mọi thứ - và có những người khác có thể không đồng ý nhưng chúng tôi thấy điều này làm việc cho một trang web rất lớn.

  1. Sử dụng nhiều đơn trang HTML, một lượng lớn mẫu nhiều trang đánh bại những lợi ích của tải ajax jQM kể từ khi bạn đang tải tất cả HTML của bạn lúc bắt đầu (trừ khi trang web của bạn là nhỏ)

  2. Bạn chắc chắn muốn sử dụng tải ajax, jQM chỉ kéo mã trong số <div data-role="page"> NHƯNG của bạn làm phức tạp JS của bạn xem bên dưới

  3. Bạn không cần nhiều tệp JS, NHƯNG bạn cần tải tất cả JS của bạn ngay từ đầu, chúng tôi thực hiện điều này bằng cách thực hiện hai việc: 1., chúng tôi đặt trình nghe on vào gốc tài liệu và lắng nghe các sự kiện pageinit/pageshow. Mỗi khi một trang được tải chúng được kích hoạt, bạn cũng có một tham chiếu hữu ích cho trang hiện tại và bạn có thể sử dụng một attr trên trang để xác định trang đó là gì. 2. Có tất cả các JS trong một bao gồm một số loại (hy vọng bạn đang sử dụng PHP, CF hoặc một cái gì đó) và đặt nó trên mỗi trang, theo cách đó không có vấn đề mà điểm người dùng duyệt đến trang web di động của bạn, họ nhận được tất cả các mã nạp

Nhược điểm là tất cả các JS được nạp ban đầu, nhưng minified chúng tôi thấy nó không có vấn đề lớn, và nếu nó thực sự là một mối quan tâm nhìn vào RequireJS - cộng với nó làm cho gỡ một làn gió kể từ khi JS là tất cả ở đó chúng ta có thể dễ dàng sử dụng trình gỡ rối và đặt điểm ngắt. Nếu bạn tải JS động trên mỗi trang, bạn tăng dữ liệu bạn cần trả về trên mỗi trang transistion và bạn có ugliness bởi vì bạn tải lại JS dư thừa và thật khó để gỡ lỗi JS động.

$(document).on('pageinit pageshow', 'div:jqmData(role="page"), div:jqmData(role="dialog")', function(oEvent){ 

    var pageType = $(this).data('pagetype'); 

    //handle pageinit/pageshow (oEvent.type) for each pageType 
1

Tôi nghĩ tốt nhất là nên có một tệp html khác nhau cho mỗi màn hình. Nó không chỉ giúp duy trì mã ứng dụng một cách chính xác và theo dõi những thay đổi, mà còn ngăn chặn dom trở nên cồng kềnh vì các trang sẽ được thêm vào khi được yêu cầu.
Đối với js, bạn có thể có các tệp js riêng biệt trong quá trình phát triển và gỡ lỗi, nhưng tôi khuyên bạn nên nhóm chúng lại và rút gọn chúng trước khi triển khai ứng dụng và phát hành nó.

0

Đây là chủ đề rất chủ quan nhưng cũng đang trở thành một xu hướng lớn hơn nhiều. Một số thích single page web sites (ứng dụng dành cho thiết bị di động). Bài viết wiki ở đây thực hiện một công việc tuyệt vời thảo luận về vấn đề mà các ứng dụng trang đơn lẻ giải quyết.

Cụ thể trong JQM, chuyển tiếp từ trang này sang trang khác sẽ mượt mà hơn nhiều khi dữ liệu nằm trên cùng một trang. Bạn cũng có thể đạt được ảnh hưởng này nếu bạn tìm nạp trước các trang thường được sử dụng bằng cách thêm thuộc tính data-prefetch vào liên kết của bạn.

Tuy nhiên, điều này có thể phụ thuộc phần lớn vào quy mô dự án của bạn. Tài liệu jQuery Mobile chạm vào một số vấn đề về hiệu năng của large DOMs here.

0

Sử dụng nhiều trang HTML duy nhất. Bạn không cần nhiều tệp JS. Mỗi trang phải hoàn toàn khép kín và có khả năng đứng một mình. Thu nhỏ, kết hợp và nén.Luôn sử dụng tập lệnh cấu hình chung trên mọi trang. Số điện thoại, bản đồ và email

href="tel:+1[your telephone number here (numbers only)]" 
href="[standard link to google maps here]" 
href=mailto:[your email address] 

Xác thực bằng jQuery Validate Use the ThemeRoller. Sử dụng các nhóm nút radio thay vì các menu được chọn. Thêm Google Analytics Xác định kiểu điều hướng sẽ sử dụng. Đừng bắt đầu bằng mã.

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