Powrót do poprzedniej pod, pod zakładki |
Powrót do poprzedniej pod, pod zakładki |
23.10.2012, 12:41:50
Post
#1
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Witam, nie mogę sobie poradzić z nawigacją na stronie -projekt jest oparty głównie na php ale zakładkę mój profil zrobiłem całą w jquery i ajaxem odpalam phpa. Wszystko gra, dynamicznie przechodzą sobie pod-zakładki typu, moje dane, zdarzenia itp, problem pojawia się na moich wiadomościach gdzie są kolejne pod-zakładki ładowane dynamicznie bez przeładowania jak skrzynka odbiorcza, wysłane i nowa wiadomość. Mianowicie np w skrzynce odbiorczej lub w wysłanych wyświetlane są nagłówki wiadomości wraz z nickiem i avatarem nadawcy lub odbiorcy w tych drugich. Można sobie kliknąć nie tylko na nagłówek, żeby wejść do wnętrza wiadomości ale na nick lub avatar usera, żeby zerknąć do jego profilu. I tutaj pojawia się problem. Będąc we wnętrzu wiadomości lub w profilu innego usera po kliknięciu na mały link nawigacyjny (powrót do poprzedniej strony) przerzuca do mojego profilu gzdie to wszystko się zaczęło ale do pierwszej zakładki jaka tam jest. I nie jest to oczywiście skrzynka odbiorcza ani nadawcza. Jutro dorobię tam jeszcze paginację w jquery i pojawi siękolejny problem, bo po kliknięciu na powrót do poprzedniej strony chciałbym aby powrót nastąpił do tego miejsca w którym kliknięto na link. Linki typu powrót do poprzedniej strony zrobiłem pierwotnie w php $_SERVER['HTTP_REFERER'] ale w javiescript dzieje sięt samo history.back() lub history.go(-1), ponieważ w pasku url jest adres do mojego profilu a nie do którejś tam pod-zakładki wczytywanej dynamicznie ajaxem. Pytanie moje brzmi czy istnieje jakiś sposób, żeby wracać do miejsca kliknięcia na link? Bo jeśli nie da siętego w żaden sposób rozwiązać to chyba zacznę otwierać linki w nowym oknie, żeby nie tracić tego co jest w chwili klikania na link. Choć nie podoba mi się za bardzo otwieranie czegoś w nowym oknie chyba że dynamicznie zrobić to w jQuery ale roboty będzie na 2 dni bo np klasa profilu usera w php to kilkaset linijek. Macie jakieś pomysły?
z góry dzięki |
|
|
23.10.2012, 13:59:49
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Weź to napisz jakoś składnie i używając akapitów, bo wymiękłem w połowie czytania...
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
23.10.2012, 14:13:53
Post
#3
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Na jednej z podstron wczytuję dane ajaxem. Ale ta podstrona ma kilka pod-zakładek, i klikając na każdą z nich ajax odpala php i wczytuje kolejne dane. (url pozostaje bez zmian)
Będąc na której kolwiek z pod-zakładek, klikając na jakiś link np na wnętrze wiadomości, przerzuca mnie do jej wnętrza. Kiedy jednak będąc w niej kliknę na link navigacyjny -powrotu do poprzedniej strony, nie wracam do pod-zakładki z której tu przyszedłem (wczytanej poprzednio za pomocą ajaxa), tylko do strony, która jest w pasku url a do której to wczytywane są dopiero pod-zakładki. Chyba nie umiem jaśniej A chcę powracać do miejsca z którego kliknąłem (czyli do którejś tam po-zakładki wczytanej ajaxem) |
|
|
23.10.2012, 14:16:55
Post
#4
|
|
Grupa: Zarejestrowani Postów: 205 Pomógł: 43 Dołączył: 5.03.2012 Ostrzeżenie: (0%) |
Żeby móc powrócić do poprzedniej strony w Ajaxie musisz znać zasady routingu w AJAX.
Nowe zapytanie AJAX nie tworzy wpisu w historii przeglądarki, tak więc nie ma możliwości iść wstecz. Żeby przycisk "wstecz" działał musi dojść do przesłania zapytania przez powłokę. |
|
|
23.10.2012, 14:24:03
Post
#5
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Rozumiem -czyli technicznie rzecz biorąc jest to możliwe do wykonania tylko w inny sposób niż do tej pory próbowałem.. Czego konkretnie powinienem szukać w googlu? routing w ajaxie? Przychodzi Ci na myśl jakiś link żeby coś o tym poczytać?
|
|
|
23.10.2012, 14:26:37
Post
#6
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
23.10.2012, 16:03:32
Post
#7
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Z tego co zrozumiałem przy każdym wczytaniu kolejnych danych ajaxem muszę użyć
tylko teraz pytanie co w tym przypadku będzie kluczem a co wartością? Używam $.getJSON() ale nie wprawadzam do niego żadnych wartości, które mógłbym podać w pushState, podaję jako pierwszy parametr lokalizację i nazwę pliku wraz z wartością get, i otrzymuję w funkcji zwrotnej obiekt.
Po za tym kiedy użyłem pushState to w pasku url pokazał się adres ale nic po za tym, nie mogę tego rozkminić -może ktoś w dwóch zdaniach napisać albo podać prosty przykład zastosowania? |
|
|
23.10.2012, 17:12:05
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Pierwszy link z google https://github.com/balupton/History.js/ i raczej to powinno Tobie wystarczyć.
-------------------- |
|
|
23.10.2012, 22:09:16
Post
#9
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Dalej nic
zaimplementowałem sobie plugin history.js i za pomocą tej metody
próbuję coś zdziałać. Wykonuję akcję po kliknięciu w pod-zakładkę np odebrane wiadomości , JSON-em pobieram wiadomości po czym używam powyższej metody. Później mam ifa sprawdzającego url i jeśli mi znajdzie -bazując na powyższym przykładzie 'odebr' i jest on równy 'wiad' to ma wykonać dla innych pod-zakładek display: none oraz ponownie tego JSON-a. I nie działa. Kiedy wchodzę w zakłądkę odebrane w pasku url pokazuje sięto co się ma pokazać ale kiedy przejdę na inną zakładkę w serwisie a później kliknę wróć do poprzedniej strony to if nie pobierający z urla -nie znajduje tam 'odebr' -choć ten widnieje w pasku adresu i tym samym nie wykonuje się oczekiwana przeze mnie akcja tylko przerzuca na inną pod-zakładkę.... -znowu namieszałem? czy ktoś rozumie dlaczego tak się dzieje? dodam że w innych przypadkach if zbierający wartość z paska url działa bez problemu |
|
|
24.10.2012, 11:54:58
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Samo wrzucenie nowego stanu do historii nie wystarczy. Trzeba jeszcze obsłużyć zmianę żądania:
Przeglądałeś przykłady? Chyba nie: Kod // Bind to State Change
History.Adapter.bind(window,'statechange', -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
24.10.2012, 13:41:20
Post
#11
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Muszę Was o to poprosić bo inaczej chyba tego nie rozkminię -czy może ktoś z Was poświęcić kilka minut i podać mi przykład jak to zrobić? Kombinuje już jak mogę włacznie z obsługą zmiany żądania.
jako adres url wpisywałem też nazwę pliku który ma być odpalony przez jsona nic to wszystko nie daje..... ale chyba nie tędy droga -szukam jak to zrobić w googlu ale nie ma nic konkretnego wprost i na temat |
|
|
24.10.2012, 13:47:31
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Gotowce, to nie ten dział, kombinuj.
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
27.10.2012, 12:57:06
Post
#13
|
|
Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) |
Nie szukam gotowca a kombinuje całe życie, nie jestem "mistrz do" w javiescript dlatego pytam się Was, skoro w tym temacie zdajecie się być bardziej ogarnięci ode mnie. Bedę kombinował choćmy miesiąc z tą historią.js -a wykombinować muszę, bo nie chce wrzucać strony na serwer z jakimiś niedociągnięciami (których i tak pewnie będzie sporo co wyjdzie w praniu). Ale dzięki mimo wszystko za "porady"
Dalej nie mogę sobie poradzić z podpięciem zdarzenia -wygląda to mniej więcej tak:
funkcja zdefiniowana jest prawidłowo i po kliknięciu na link powyżej działa bez problemów. Nie jest ona zawarta w innej funkcji i powinno wszystko działać a nie działa. Kiedy przeskoczę na inną stronę i dam "wróć" wraca ale nie do tej podzakładki Do tego zrobiłem sobie jeszcze takiego ifa
czy ktoś jest w stanie podpowiedzieć mi dlaczego? Nie proszę o kilka angielskojęzycznych linków w których i tak nic nie jest wytłumaczone wprost |
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 16:28 |