it-swarm.com.de

Verknüpfung zu einem unendlichen scrollbaren Stream

Ich habe eine Web-App, die einen Stream von Einträgen mit einer Schaltfläche "Mehr ..." am unteren Rand enthält, die in ältere Einträge geladen wird. Wenn einer der Einträge ausgewählt ist, werden im rechten Bereich Details zu diesem Eintrag angezeigt.

mockup

bmml source herunterladen - Wireframes erstellt mit Balsamiq Mockups

Dies funktioniert gut für die angezeigten Daten, da 90% der Benutzer immer nur die ursprünglich geladenen Daten sehen müssen. Es ist nicht üblich, in der Zeit zurückzublicken. Ich muss jedoch eine Möglichkeit bereitstellen, direkt auf einen Eintrag zu verlinken. Wenn sich dieser Eintrag auf der ersten Seite der Daten befindet, ist dies einfach. Ich wähle ihn einfach aus und scrolle zum ausgewählten Element.

Mein Problem tritt auf, wenn sich der erforderliche Eintrag weiter unten im Stream befindet und nicht Teil des anfänglichen Ladevorgangs ist. Es wäre möglich, einen Link zu haben, der mich zu einem Build führt, der viele Seiten weiter unten im Stream liegt. Ich kann mir nur zwei Möglichkeiten vorstellen ...

  1. Hacken Sie den Anfang des Streams ab und machen Sie den verknüpften Eintrag zum Anfang der Liste. Dies verstößt gegen eine Kernkonvention, immer den neuesten Eintrag oben zu haben. Ich würde eine zusätzliche Benutzeroberfläche benötigen, um vorherige Einträge zu laden.

  2. Laden Sie einfach so lange Seiten, bis sich der verknüpfte Eintrag im Stream befindet. Dies kann das Laden von Dutzenden von Datenseiten beinhalten und ist langsam.

Gibt es gute Möglichkeiten, diese Art der Verknüpfung direkt in einen Datenstrom umzuwandeln?

5
Fraser Graham

Sie müssen nichts Neues erfinden. Es gibt eine Webanwendung, die ähnlich funktioniert wie Sie - Twitter. Jede Nachricht dort kann in einem Stream von vielen angezeigt werden, hat aber auch eine eindeutige URL und kann einzeln gerendert werden. Wenn ein Benutzer die eindeutige URL aus der Stream-Ansicht erhält, führt die URL nicht zurück zum Stream, sondern zur einzelnen Nachrichtenseite.

Ich nehme an, Ihre Listenansicht wird bereits aus einer Datenbank gespeist. Sie müssen nur eine zusätzliche Ansicht erstellen (wahrscheinlich ist die Seitenleistenanzeige die Vorlage) und den Link für jedes einzelne Element generieren, um Ihren aktuellen Link zu ersetzen. (Ich denke, Ihr aktuelles System funktioniert mit Ankerverbindungen.)

2
dnbrv

Permalinks
Ich würde empfehlen, für jeden Eintrag eine "statische" Version zu erstellen (d. H. Eine separate Seite mit einer absoluten URL, die jemand in eine Adressleiste eingeben kann, wodurch diese URL bei Bedarf auch freigegeben werden kann). Es könnte genauso einfach sein, genau den gleichen Inhalt (im gleichen Layout und Stil) zu laden, wie Sie ihn bereits in der von Ihnen verwendeten Vorschau geladen haben. Klicken Sie dann auf einen Eintrag, um "Vorschau" anzuzeigen, aber haben Sie eine kleine Schaltfläche oder einen Link, der auf die "statische" Version desselben Inhalts verweist (ein Permalink oder ein gemeinsam nutzbarer Link, wie auch immer Sie ihn nennen möchten). Der Punkt ist, dass es verfügbar ist , aber eindeutig keine primäre Aktion.

SEO
Dies hat den zusätzlichen Vorteil, dass es für Such-Bots besser sichtbar ist, wodurch Ihre Inhalte leichter indiziert und von Personen gefunden werden können, die nach für Ihre Website relevanten Begriffen suchen. Ich bin mir nicht sicher, wie Sie die Vorschau gerade laden, aber nichts geht über einen einfachen Jane-Link zu einer statischen HTML-Seite, wenn Sie Nice mit Suchmaschinen spielen möchten (im Gegensatz zu dynamischer AJAXy-Güte;).

Alle Inhalte sollten navigierbar sein
Ich denke, es ist eine gute Idee, in älteren Inhalten navigieren zu können, aber wie Sie sagten, ist dies nicht der wichtigste Inhalt, ich mag Ihre Option eines "mehr" -Links anstelle eines automatischen "endlosen Bildlaufs" "Art der Sache (mehr Inhalt muss nicht geladen werden, wenn Sie nur an den neuesten Sachen interessiert sind). Aber all diese saftigen Inhalte sollten für Google verfügbar sein (ich meine, warum nicht diese zusätzliche SEO-Beule nehmen?), Und einige dieser Inhalte könnten nur nützlich sein Jemand eines Tages, und wenn es so ist, wird diese Person denken, dass Ihre Website großartig ist, weil sie all diese guten Sachen online gehalten hat.

5
robmclarty