Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   AJAX-Slide-Effekt von GitHub (https://www.delphipraxis.net/158802-ajax-slide-effekt-von-github.html)

Namenloser 3. Mär 2011 19:00

AJAX-Slide-Effekt von GitHub
 
Hallo Leute,

mir ist gerade aufgefallen, dass bei Github die Sourcecode-Listings (z.B. hier – klickt mal einen Ordner oder eine Datei an, dass seht ihr’s) per AJAX geladen werden. Soweit ja erst mal nichts spektakuläres, sieht man öfters.

Aber: Bei GitHub wird aber auch die URL in der Adressleiste korrekt angepasst – das sehe ich in der Form zum ersten Mal. Bisher habe ich immer nur Umwege über Anker gesehn (z.B. https://twitter.com/#!/mentions), wo nur der Teil hinter dem # geändert wird. Das ist natürlich eine Krücke, weil z.B. jeder, dem man die URL schickt, JS aktiviert haben muss, damit der richtige Inhalt nachgeladen wird.

GitHub kommt irgendwie ohne diesen Trick aus, hier verhält sich die Adressleiste so, als wäre die Seite ganz normal ohne AJAX geladen worden, was natürlich sehr viel eleganter ist.

Wie machen die das?
Ich dachte, das wäre technisch gar nicht möglich... auch aus Sicherheitsgründen.

s.h.a.r.k 3. Mär 2011 19:04

AW: AJAX-Slide-Effekt von GitHub
 
Also bei mir wird immer die ganze Seite neu geladen, sobald ich auf einen Ordner (z.B. components) klicke?! :gruebel:

Matze 3. Mär 2011 19:05

AW: AJAX-Slide-Effekt von GitHub
 
Bei mir wird die Seite dort neu geladen (JS ist aktiviert). Daher passt sich auch die URL an.

Bist du dir sicher, dass das per AJAX bei dir geladen wird? Wenn du etwas herunter scrollst und den Ordner bzw. die Datei anklickst, scrollt der Browser nicht wieder hoch o.ä.?
Bei mir schon.

s.h.a.r.k 3. Mär 2011 19:06

AW: AJAX-Slide-Effekt von GitHub
 
Welchen Browser hast du? Vielleicht lädt der diverse Links schon im Voraus und zeigt daher den neuen Content sehr schnell an? Ich würde mal auf Opera tippen, mit diesem aktiviertem Turbo ;)

Namenloser 3. Mär 2011 19:06

AW: AJAX-Slide-Effekt von GitHub
 
Welchen Browser verwendest du? Ich habe schon gehört, dass es in Opera beispielsweise nicht geht. Ich nutze die Beta von Firefox 4.

@Matze: Wird definitiv per AJAX geladen. Hab schon getestet durch Markieren, Scrollen usw...

Meflin 3. Mär 2011 19:07

AW: AJAX-Slide-Effekt von GitHub
 
Also laut Firebug finden bei mir keine XHR-Requests statt... kein AJAX (FF 3.6).

Matze 3. Mär 2011 19:08

AW: AJAX-Slide-Effekt von GitHub
 
Ich nutze FF 3.6.14

Du meinst schon die Verzeichnis-Links wie "components/", "content/" etc?

s.h.a.r.k 3. Mär 2011 19:09

AW: AJAX-Slide-Effekt von GitHub
 
Gibts vielleicht mit dem FF4 neuere bzw. bessere HTML5-Unterstützung? Wusste aber auch noch nicht, dass das geht.

Namenloser 3. Mär 2011 19:10

AW: AJAX-Slide-Effekt von GitHub
 
Bei mir schon, es werden solche URLs geladen: https://github.com/greasemonkey/grea...onents?slide=1 (halt immer mit slide=1 hinten dran)

Matze 3. Mär 2011 19:11

AW: AJAX-Slide-Effekt von GitHub
 
Da muss ich passen. Ich kann es nicht reproduzieren.

Mich würde aber auch interessieren, wie man diese URLs so manipulieren kann. Ich habe das Gleiche kürzlich gefragt und da hieß es auch, es gehe nur über die Anker.

s.h.a.r.k 3. Mär 2011 19:12

AW: AJAX-Slide-Effekt von GitHub
 
Aktueller Chrome und Safari (beide auf Windows) sliden auch. Das ist ja geil :stupid:

Hab mich mal ein wenig durch den Code gelesen und bin dann auf das hier von Mozilla gestoßen. Und der FF 3.6 kann es noch nicht, da er noch die Gecko Engine < v2.0 verwendet.

Namenloser 3. Mär 2011 19:28

AW: AJAX-Slide-Effekt von GitHub
 
Ah, ist das das sagenumwobene, verbesserte History-API von HTML-5? Cool, wusste nicht, dass sowas damit geht :shock:

s.h.a.r.k 3. Mär 2011 19:29

AW: AJAX-Slide-Effekt von GitHub
 
Ich bis jetzt auch noch nicht. Aber jetzt weiß ich, was ich in meinem CMS bald einbauen werde :mrgreen:

Namenloser 3. Mär 2011 19:31

AW: AJAX-Slide-Effekt von GitHub
 
Und ich, was ich in meine Todo-Liste für die seit langem überfällige Überarbeitung meiner Website aufnehme...

s.h.a.r.k 3. Mär 2011 19:34

AW: AJAX-Slide-Effekt von GitHub
 
Bald wird jede Website nur noch einen kompletten "Reload" aufweisen und zwar dann, wenn der User die erste URL aufruft. Danach wird alles nur noch via AJAX erledigt ;)

generic 4. Mär 2011 09:49

AW: AJAX-Slide-Effekt von GitHub
 
Bei mir wird auch die ganze Seite neu geladen.

Die Url anpassen geht aber per Javascript in einen HTML5 fähigen Browser.

Code:
window.history.pushState(“object or string”, “Title”, “/new-url”);
http://www.w3.org/TR/html5/author/hi...-history-entry


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz