![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym się dowiedzieć jak to genialny Facebook robi, że link, w pasku adresu zmienia się, podczas kliknięcia np. w zdjęcie (wyświetla się nad stroną), bez jakiegokolwiek przeładowania strony (np. okienka z wiadomościami oraz czat pozostają nienaruszone oraz większość strony)...
Jakieś nakierowanie na odpowiedź? Nie piszcie, że się nie da, bo fb takie coś ma:P Niby było, ale dawno + do tego w linkach FB nie ma kotwic:D http://forum.php.pl/lofiversion/index.php/t158483.html Ten post edytował Popek231 15.12.2014, 20:02:03 -------------------- Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 6.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz HTML5 History API
Przykłady: http://code.tutsplus.com/tutorials/a-first...-api--net-28053 http://code.tutsplus.com/tutorials/an-intr...-api--cms-22160 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, przyda się
![]() |
|
|
![]() ![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 824 Pomógł: 106 Dołączył: 14.03.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ piszę prostą internetową gierkę
![]() Linki w menu gry wyglądają tak: | <span id=""><a href="java script:void(0)" onClick="$('#play').load('<?php echo $pages.$include; ?>items.php')"> Ekwipunek </a></span> | i po kliknięciu takiego linku, ścieżka się nie zmienia, a gracz, który odświeży stronę po kliknięciu takowego linku, będzie zmuszony dojść do podstrony samodzielnie (klikając znów w ten link). Czyli linki mogę wykonać tak: | <span id=""><a href="<?php echo $strona.'index.php?page=play&items'; ?>" onClick="$('#play').load('<?php echo $pages.$include; ?>items.php')"> Ekwipunek </a></span> | I ścieżka z HREF będzie na pasku adresu? Ten post edytował Popek231 16.12.2014, 17:14:27 -------------------- Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod onClick="$('#play').load('<?php echo $pages.$include; ?>items.php')"> Jest nieeleganckie ![]() lepiej dodaj klasę do linków choćby tak- tym bardziej, że pewnie dodasz ich więcej i musiałbyś to powielać. A sam link w href powinien być taki sam, jaki podstawisz, bo przy odświeżeniu strony już wyświetli się strona spod "podstawionego" adresu. Zatem np.: Kod <a href="<?php echo $pages.$include; ?>items.php" class="history"> Ekwipunek </a></span>
<script> $(".history").on("click",function(e){ e.preventDefault(); $('#play').load($(this).attr("href")); }); |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
no wiem, że nie jest eleganckie...
ale chcę wczytać plik items.php do #play a w linku chcę mieć LINK.pl/play?items (jeśli przekierowałoby do pliku items.php wywaliłoby użytkownika na stronę główną :D - takie zabezpieczenie z mojej stronyy...) Ten post edytował Popek231 16.12.2014, 18:53:20 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli mają być różne, to zawsze możesz skorzystać z data:
Kod <a href="JEDEN LINK" data-link="DRUGI LINK">
$('#play').load($(this).data("link")); |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
na pasku adresu będzie JEDEN LINK, a ładowany będzie plik z DRUGI LINK (z data-link), tak?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak, o ile sobie to odpowiednio ogarniesz w reszcie skryptu, ale to nie powinno być trudne
![]() W tym wypadku, posługując się przykładami z w/w linków, musiałbyś jeszcze dodać (nie sprawdzałem, tylko tak "strzelam" ![]() Kod history.replaceState(null, document.title, $(this).attr("href"));
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
... coś działać nie chciało (strona się i tak przeładowywała), więc zrobiłem w każdym linku tak (i działa!):
<a href="java script:void(0);" onClick="$('#play').load('<?php echo $pages.$include; ?>items.php');history.replaceState(null,null,'/index.php?page=play&items');"> Ekwipunek </a> a przedtem miałem taki kod: Ten post edytował Popek231 16.12.2014, 23:50:54 -------------------- Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tu masz błąd przecież:
history.pushState(null,null,.attr("href")); Powinno być history.pushState(null,null,$(this).attr("href")); Poza tym warto dodać jeszcze $(function(){ //tutaj dopiero reszta funkcji }); ponieważ podstawy ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 30.03.2012 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
tak czy inaczej.. tamto nie działało:D
jeśli będę mieć chęci przerobię to (ale wątpię ze względu na to, że linków jest tam zaledwie 5 - szybkie do edycji) ![]() Dzięki, że pomogłeś, masz u mnie wielkieeeego + ![]() -------------------- Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Męczył mnie ten temat, a że znalazłem chwilę czasu to sprawdziłem doświadczalnie
![]() Okazało się, że dostawałem błąd SecurityError: The operation is insecure, można wygoglować, co to powoduje. W skrócie chodzi o to, żeby przeglądarka nie pomyślała, że chcesz podstawić coś z nie swojej domeny. Ten skrypt postawiony na serwerze DZIAŁA na 100%, wyświetla zawartość trueX.html a w adresie podstawia falseX.html: Być może że mi też to się w przyszłości przyda, więc dzięki za wątek ![]() Ten post edytował maviozo 18.12.2014, 16:39:11 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 3 Dołączył: 31.01.2011 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
podepnę się tutaj - pytanko z ciekawosci:
jak zmienic tylko zawartosc paska url, np wyciac niepotrzebne rzeczy (tylko wizualnie) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 07:57 |