![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
1.
Niestety funkcja w ogóle się nie wywołuje. Jeżeli zaś podmienie funkcja() na alert("Test"); to wyświetla sie... nie mam pojęcia dlaczego. 2. window.history.pushState Wiem jak sprawić dzięki temu, żeby w pasku adresu pojawiała się nazwa podstrony, która wyświetla się przez $.ajax. Problem polega na tym, że gdy ten link, załóżmy: localhost/wiadomości/ wygenerowany w js otworzę ręcznie np. odświeżajac strone... naturalnie wyświetla się komunikat o braku pliku. Moje pytanie brzmi, jak zrobić aby GET przekierowywał nie do pliku ale żeby przechwytywało to JS - wyświetlając stronę w ajaxie? Z góry dziękuje. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
1. Sprawdź konsolę
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Jak mam sprawdzić konsole, skoro ta funkcja wywoluje sie wraz z otwarciem/odswiezeniem strony
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 55 Dołączył: 23.11.2008 Skąd: UKF Ostrzeżenie: (0%) ![]() ![]() |
Opcje > Narzędzia i tam szukaj. Ewentualnie rozszerzenia typu Firebug do firefoxa
-------------------- Pomagam jeśli mam czas oraz jak się na tym znam :D
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Nic się nie wyświetla, ani w konsoli ani w firebug'u, ktorego posiadam.
Co więcej, gdy tą funkcje wywołam nie z PHP, ale bezpośrednio z JS to działa... dlatego nie rozumiem. Nikt nie wie czym to może być spowodowane? Po prostu php nie wywołuje mi funkcji - jakiejkolwiek, ale alert() tak... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Może po prostu wywołujesz funkcję zanim jest ona zadeklarowana
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Dzięki, masz racje.
Wystarczyło dać setTimeout(function(){funkcja();},10); Ale, gdy komuś załaduje się strona za wolno... to znaczy, że nie wyświetli? Ten post edytował wezyrno 28.07.2014, 09:40:11 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Dodaj to w document.ready i po problemie
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Stokrotne dzięki
![]() Ma ktoś pomysł co do tego? Cytat window.history.pushState
Wiem jak sprawić dzięki temu, żeby w pasku adresu pojawiała się nazwa podstrony, która wyświetla się przez $.ajax. Problem polega na tym, że gdy ten link, załóżmy: localhost/wiadomości/ wygenerowany w js otworzę ręcznie np. odświeżajac strone... naturalnie wyświetla się komunikat o braku pliku. Moje pytanie brzmi, jak zrobić aby GET przekierowywał nie do pliku ale żeby przechwytywało to JS - wyświetlając stronę w ajaxie? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 55 Dołączył: 23.11.2008 Skąd: UKF Ostrzeżenie: (0%) ![]() ![]() |
Dodawaj po załadowaniu strony przez ajax w adresie po hashu to co ma byc wyswietlone. Np:
www.domena.pl/#wiadomosci W jsie po zaladowaniu strony sprawdzasz czy ustawiony jest hash (window.location.hash)i jak jest ładujesz odpowiednią podstronę. do tego aby strona była dobrze indeksowana przez google zainteresuj się tym zagadnieniem: https://developers.google.com/webmasters/ajax-crawling/ Lektura po angielsku ale który web developer nie zna teraz angielskiego ![]() Ten post edytował lukasz_os 28.07.2014, 10:06:42 -------------------- Pomagam jeśli mam czas oraz jak się na tym znam :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem
![]() To www.domena.pl/#wiadomosci nie będzie indexowane przez google, a to tak?: www.domena.pl/#!wiadomosci Ten post edytował wezyrno 28.07.2014, 10:23:03 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Powinieneś sprawdzić URL (obiekt window.location), podmienić historię z pomocą replaceState (nie pushState), załadować ajaxem treść strony z URL.
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 55 Dołączył: 23.11.2008 Skąd: UKF Ostrzeżenie: (0%) ![]() ![]() |
Masz strone główna w adresie www.domena.pl. Jezeli nie chcesz dodawac strony do google możesz zrobić podstrony typu:
www.domena.pl/#wiadomosci www.domena.pl/#oferta www.domena.pl/#kontakt Po wpisaniu takiego adresu w url powinieneś sprawdzić co jest po # i pobrać ajaxem odpowiednią podstronę. co do indeksowania przez google to robot rozpoznaje ciąg #! i zamienia to na rządanie GET " _escaped_fragment_" Tak więc jeżeli Twoje adresy będą miały w adresie: www.domena.pl/#!wiadomosci to robot google będzie szukał na twoim serwerze strony o takim adresie: www.domena.pl?_escaped_fragment_=wiadomosci więc musisz obsłużyć te wszystkie strony w ten sposób. Odnośnie ostatniego posta możesz uzyć splita po "=" lub za pomącą indexOf znaleźć gdzie jest znak = i zrobić substringa. Ten post edytował lukasz_os 28.07.2014, 10:42:51 -------------------- Pomagam jeśli mam czas oraz jak się na tym znam :D
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czemu mieszasz użycie hash z History API.
Dla hasha odpowiednim jest zdarzenie onHashChange, używając History API można z powodzeniem używać standardowych URLi. -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Rozumiem wszystko, dzięki za objąsnienie.
Wiem też już jak wczytać localhost/#dane var podstrona = window.location.hash; if(podstrona == '#dane') { } ale jak wczytać (opierając się na powyższym skrypcie) coś takiego: localhost/#dane=1200 - jak sprawdzić numer następujący po #dane= ? |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 55 Dołączył: 23.11.2008 Skąd: UKF Ostrzeżenie: (0%) ![]() ![]() |
w wartości key masz "dane", a w value masz "1200". -------------------- Pomagam jeśli mam czas oraz jak się na tym znam :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2024 - 04:08 |