2012-07-01 32 views
38

Tôi đang cố gắng sử dụng Backbone.Paginator.js để chạy nhiều hơn một ứng dụng (nhiều phiên bản của paginator) trên cùng một trang.Làm cách nào để chạy nhiều phiên bản bằng cách sử dụng Backbone.Paginator.js?

I created a test page. (Điều hướng đến backbone.paginator/examples/netflix-infinite-paging).

Tôi đã để mã như là app.js và tạo app2.js, là bản sao của app.js nhưng tất cả mã javascript đều nằm trong một tệp và ứng dụng đã được đổi tên thành app2.

Hai phiên bản hoạt động trên lần tải đầu tiên của trang nhưng yêu cầu/làm mới tiếp theo chỉ tải dữ liệu của app2.js.

Có thể chạy nhiều phiên bản trên cùng một trang không?

  • Tôi quan tâm đến việc sử dụng một tính năng tự động phân trang (vô hạn/vô tận cuộn) để Tôi cố gắng để sử dụng Paul Irish của jQuery Infinite Scroll plugin nhưng Tôi không thể có được nó để làm việc.
  • Tôi đang khởi tạo plugin để chạy trên tài liệu sẵn sàng (không hoạt động, như mong đợi), nhưng cũng chạy mã trong ứng dụng kết quả của app2, cũng không hoạt động.

Bất kỳ ý tưởng nào về cách nhận giải pháp cuộn vô hạn phân trang tự động?

  • Tôi chạy vào https://github.com/joneath/infiniScroll.js nhưng tôi không chắc chắn cách tích hợp nó với Backbone.Paginator.js.
  • Tôi vẫn đang học và mọi trợ giúp sẽ được đánh giá cao! :)

UPDATE: Sau khi kiểm tra hơn nữa trên các trình duyệt khác nhau, nó có vẻ như vấn đề có thể là để bộ nhớ đệm vấn đề/sự khác biệt. Ví dụ, trong Safari, đôi khi nó hoạt động (ngẫu nhiên) khi làm mới trang. Tôi không chắc chắn làm thế nào để gỡ lỗi đó. Bất kỳ ý tưởng?

+2

bạn nên đặt trang thử nghiệm của mình lên trên jsFiddle –

+2

Để xác minh xem sự cố có thực sự là vấn đề về bộ nhớ đệm hay không, hãy thử thêm truy vấn GET vào tên tệp javascript của bạn. Điều này sẽ cho trình duyệt biết đó là một tệp khác, mặc dù phía máy chủ tệp sẽ không thay đổi. '' – Kelvin

+0

Bạn cũng có thể tắt tính năng lưu trong bộ nhớ đệm bằng cách mở thanh công cụ dành cho nhà phát triển, nhấp vào biểu tượng bánh răng và tắt bộ nhớ cache. http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development – mickeyreiss

Trả lời

1

Câu hỏi: 1- Bạn có bao gồm các phụ thuộc khung Javascript jQuery cũng như trong codebase của bạn không? 2 - Tôi đã tải xuống tệp zip, chạy nó trên Xammp cục bộ và nó có vẻ là bản demo đã tải xuống không phải là trang thử nghiệm, bạn có thể xác nhận trang nào là trang thử nghiệm của bạn từ tệp nén được đính kèm với câu hỏi của bạn không? 3- Bạn có thể tạo ra một mockup (trong trường hợp có một số mã phía máy chủ xảy ra) trong jsfiddle? 4 Các liên kết được cung cấp cho các plugin cuộn jquery Infinite bị phá vỡ, nó phải là: https://github.com/joneath/infiniScroll.js

Nếu bạn muốn làm cho paginator jQuery plugin để được độc lập, bạn có thể muốn kích hoạt nó xem xét các yếu tố container cũng

....

Từ liên kết được đề xuất, tôi nghĩ rằng chúng ta nên thử nghiệm điều này. Khác bạn có thể muốn tạo ra một cookie hoặc một cái gì đó cho trình duyệt để nhớ những thay đổi cho các plugin trên nhiều trường hợp .. Dưới đây là một số suy nghĩ?

1 #

  Backbone.InfiniScroll(collection, **options**) 

Khởi tạo một đối tượng InfiniScroll mới sau khi xem Backbone của bạn đã được trả lại.

myView = Backbone.View.extend({ 
    initialize: function(){ 
    _.bindAll(this, "render"); 

this.render(); 
this.infiniScroll = new Backbone.InfiniScroll(this.collection, {success: this.appendRender}); 

} )};

2 # Trong nháy mắt từ menu Options

  target: $(window), 

Có lẽ chúng ta nên cố gắng:

$(body).find('#container1'), 

-hoặc-

$(window).children('div').hasClass('container'), 

Chỉ cần một số ý tưởng, đã không thử nghiệm bản thân mình-

3 # Bạn có thể muốn làm cho (1) trở thành một hàm javacript và kích hoạt nó dựa trên một lớp hoặc trên id của nó để khởi tạo cuộn qua một vùng chứa mong muốn.

Đó là tất cả những ý tưởng tôi có thể nghĩ ra bằng cách xem nhanh thật, nhưng vui lòng trả lời nếu nó giúp hoặc ít nhất là đưa ra một số hướng.

4 # Một suy nghĩ khác là myView có thể là biến với id của dấu thời gian trong Javascript, theo cách đó bạn có thể đảm bảo tính duy nhất và vì bạn đang gọi mới thì bạn có thể có một vài phiên bản plugin đang chạy cho chế độ xem của mình.

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