Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax] aktualizacja url bez odświeżania strony
armon
post 18.02.2010, 13:38:21
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

Ostrzeżenie: (0%)
-----


Witam,

Wie ktoś może jak uzyskać takie coś jak na tej stronie?

http://www.lf24.pl/#!p=wyszukiwarka&am...gdzie=&cp=1

Dynamiczne zapytanie ajaxowe, które aktualizuje url bez odświeżania strony?

Wystarczy mi jakiś hint, z tego co czytałem to piszą wszędzie, że to niemożliwe, a jednak znalazłem przykład, gdzie to uzyskali.

Pozdrawiam
Go to the top of the page
+Quote Post
darko
post 18.02.2010, 13:43:47
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(armon @ 18.02.2010, 13:38:21 ) *
Witam,

Wie ktoś może jak uzyskać takie coś jak na tej stronie?

http://www.lf24.pl/#!p=wyszukiwarka&am...gdzie=&cp=1

Dynamiczne zapytanie ajaxowe, które aktualizuje url bez odświeżania strony?

Wystarczy mi jakiś hint, z tego co czytałem to piszą wszędzie, że to niemożliwe, a jednak znalazłem przykład, gdzie to uzyskali.

Pozdrawiam

Gdzie Ty tu widzisz, że cokolwiek odbywa się bez odświeżenia strony? Może ja ślepy jestem...


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
piotrooo89
post 18.02.2010, 13:44:23
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ale o co chodzi?


--------------------
Go to the top of the page
+Quote Post
armon
post 18.02.2010, 14:22:33
Post #4





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

Ostrzeżenie: (0%)
-----


Cytat(darko @ 18.02.2010, 13:43:47 ) *
Gdzie Ty tu widzisz, że cokolwiek odbywa się bez odświeżenia strony? Może ja ślepy jestem...



No jak się popatrzysz tutaj: http://js.lf24.pl/page.js

To zauważysz, że korzystają z ajaxa i to w wielu miejscach. Jak wpisujesz słowo kluczowe to znajduje go dynamicznie bez odświeżania strony i zmienia adres url.

Potrzebne mi to jest aby użytkownik na stronie mógł się odwołać / podać komuś linka do tego co znalazł przez ajaxa.
Go to the top of the page
+Quote Post
ziqzaq
post 18.02.2010, 14:22:53
Post #5





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


Wydaje mi się, że chodzi tutaj koledze o zmianę id a nie całego url.
Zawartość jest wczytywana przez ajax po kliknięciu na link zawierający w href id (#!p=wyszukiwarka&co=kurs&gdzie=&cp=1&str=5) i dlatego może się wydawać, że url się zmienia.

Go to the top of the page
+Quote Post
armon
post 18.02.2010, 14:25:21
Post #6





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

Ostrzeżenie: (0%)
-----


Cytat(ziqzaq @ 18.02.2010, 14:22:53 ) *
Wydaje mi się, że chodzi tutaj koledze o zmianę id a nie całego url.
Zawartość jest wczytywana przez ajax po kliknięciu na link zawierający w href id (#!p=wyszukiwarka&co=kurs&gdzie=&cp=1&str=5) i dlatego może się wydawać, że url się zmienia.


no w końcu mądra odpowiedź - wielkie dzięki, czyli w sumie wystarczy zrobić etykiety i je analizować, przez co użytkownicy mogą się wymieniać linkami - THX!
Go to the top of the page
+Quote Post
rogal111
post 19.02.2010, 18:38:56
Post #7





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.02.2010

Ostrzeżenie: (0%)
-----


Znana i często stosowana na stronach ajaxowych technika (wystarczy spojrzeć na np. gmail).
Pomysł jest taki, aby skorzystać z części adresu którą można zmieniać bez przeładowania strony, czyli z kotwic (część adresu za # ).

Wystarczy regularnie sprawdzać zawartość document.location.href i odpowiednio reagować na zmiany (np. ładując zawartość podstrony przez AJAXa).

Tutaj przykład tego mechanizmu:
http://yensdesign.com/2008/11/creating-aja...hor-navigation/

Jeśli chcemy zachować maksymalną zgodność z wyszukiwarkami proponuję najpierw wykonać stronę bez javascriptu (z twardym przeładowaniem), a dopiero później przez javascript przejąć obsługę interesujących linków.
NP. Dla linku:
  1. <a class="ajax" href="podstronanr1">Link</a>


Wystarczy wywołać metodę zmieniającą link do AJAX:

  1. $('a.ajax').each(function(){
  2. $(this).attr('href','#'+$(this).attr('href'));
  3. });
Go to the top of the page
+Quote Post
mr__y
post 27.02.2010, 14:11:54
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 9.10.2003

Ostrzeżenie: (0%)
-----


Cytat(rogal111 @ 19.02.2010, 19:38:56 ) *
Jeśli chcemy zachować maksymalną zgodność z wyszukiwarkami proponuję najpierw wykonać stronę bez javascriptu (z twardym przeładowaniem), a dopiero później przez javascript przejąć obsługę interesujących linków.


Jeżeli chodzi o google, nie ma problemu ze stroną ajaxową, pod warunkiem, że po # w adresie jest także wykrzyknik.
Czyli np. http://adres/costam.php#![parametry]
Google od pewnego czasu indeksuje takie strony, zamieniając adres wg w/w schematu na http://adres/costam.php?_escaped_fragment_=[parametry]
Oczywiście samą obsługę tego _escaped_fragment_ trzeba już zapewnić po stronie skryptu.
Więcej informacji: http://googlewebmastercentral.blogspot.com...-crawlable.html


Cytat(ziqzaq @ 18.02.2010, 15:22:53 ) *
Wydaje mi się, że chodzi tutaj koledze o zmianę id a nie całego url.
Zawartość jest wczytywana przez ajax po kliknięciu na link zawierający w href id (#!p=wyszukiwarka&co=kurs&gdzie=&cp=1&str=5) i dlatego może się wydawać, że url się zmienia.

Zgadza się, ale jest dodatkowy problem z obsługą "Wstecz" i "Do przodu" w przeglądarce.
W IE8 dostępne jest zdarzenie ohashchange i można je do tego wykorzystać.
W pozostałych przeglądarkach można wykorzystać np. bibliotekę dhtmlHistory.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:09