38

Ich versuche, Backbone.Paginator.js zu verwenden, um mehr als eine Anwendung (mehrere Instanzen von Paginator) auf derselben Seite auszuführen.Wie ist es möglich, mehrere Instanzen mit Backbone.Paginator.js zu betreiben?

I created a test page. (Navigieren Sie zu backbone.paginator/examples/netflix-infinite-paging).

verließ ich den Code für app.js ist und erstellen app2.js, die ein Klon von app.js ist aber alle Javascript-Code in einer Datei und die App wurde app2 umbenannt befindet.

Zwei Instanzen funktionieren beim ersten Laden der Seite, aber nachfolgende Anfragen/Aktualisierungen laden nur die Daten von app2.js.

Ist es möglich, mehrere Instanzen auf derselben Seite auszuführen?

  • Ich interessiere mich für Verwendung eines Auto-Paging (unendlich/Endlos-Scroll) so Ich versuchte Paul Irish des jQuery Infinite Scroll plugin aber Ich bin nicht in der Lage zu bekommen, es zu benutzen zu arbeiten.
  • Ich initiiere das Plugin auf Dokument bereit (was nicht funktioniert Arbeit, wie erwartet), sondern auch den Code in der App2 ResultView, die nicht funktioniert auch läuft.

Irgendwelche Ideen, wie Sie eine Auto-Paging-Lösung mit unendlichen Scrolls erhalten?


UPDATE: Nach weiteren Tests auf verschiedenen Browsern, wie es scheint, das Problem zu Caching-Problem/Unterschiede sein könnten. Zum Beispiel funktioniert es in Safari manchmal (zufällig) beim Aktualisieren der Seite. Ich bin mir nicht sicher, wie das zu debuggen ist. Irgendwelche Ideen?

+2

Sie sollten Ihre Testseite auf jsFiddle setzen –

+2

Um zu überprüfen, ob das Problem tatsächlich ein Caching-Problem ist, versuchen Sie, eine GET-Abfrage an Ihre Javascript-Dateinamen anzuhängen. Dadurch wird dem Browser mitgeteilt, dass es sich um eine andere Datei handelt, obwohl sich die serverseitige Datei nicht geändert hat. '' – Kelvin

+0

Sie können das Caching auch in Chrome deaktivieren, indem Sie die Entwicklersymbolleiste öffnen, auf das Zahnradsymbol klicken und den Cache deaktivieren. http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development – mickeyreiss

Antwort

1

Fragen: 1- Fügen Sie die jQuery Javascript Framework-Abhängigkeiten auch in Ihre Codebasis ein? 2- Ich habe die Zip-Datei heruntergeladen, lokal auf Xammp ausgeführt und es scheint sich um eine heruntergeladene Demo zu handeln, keine Testseite. Können Sie bitte bestätigen, welche Seite Ihre Testseite aus der komprimierten Datei Ihrer Frage enthält? 3- Können Sie in jsfiddle ein Mockup erstellen (falls ein serverseitiger Code passiert)? 4- Der Link für das Unendliche Scroll-jQuery-Plugin zur Verfügung gestellt wird gebrochen, sollte es sein: https://github.com/joneath/infiniScroll.js

Wenn Sie das jQuery-Plugin paginator unabhängig sein zu wollen, könnte man es das Containerelement unter Berücksichtigung auslösen soll

auch

....

Von dem vorgeschlagenen Link denke ich, dass wir damit experimentieren sollten. Sonst möchten Sie vielleicht ein Cookie oder etwas für den Browser erstellen, um sich die Änderungen am Plugin an mehreren Instanzen zu merken. Hier sind einige Gedanken?

1 #

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

ein neues InfiniScroll Objekt nach dem Backbone Ansicht gerendert wurde instanziiert.

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

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

})};

2 # Auf einen Blick aus den Menüoptionen

  target: $(window), 

Vielleicht sollten wir versuchen:

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

-oder

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

nur einige Ideen, nicht experimentiert es selbst-

3 # Vielleicht möchten Sie (1) eine javascript-Funktion sein und sie basierend auf einer Klasse oder ihrer ID auslösen, um den Bildlauf über einen gewünschten Container zu initialisieren.

Das sind all die Ideen, die ich bekommen könnte, indem ich mir einen Blick schnell anschaue, aber zögern Sie nicht zu antworten, wenn es hilft oder zumindest eine Richtung gibt.

4 # Ein anderer Gedanke ist, dass myView eine Variable mit einer ID eines Zeitstempels in Javascript sein kann, so dass Sie die Eindeutigkeit sicherstellen können und da Sie neu aufrufen, könnten mehrere Instanzen des Plugins für Ihre Ansicht laufen.

Verwandte Themen