Href= jak ukryć link do sekcji


(ave20) #1

Witam

Korzystam z skryptu "smooth scroll": https://github.com/cferdinandi/smooth-scroll
Strona na której z niego korzystam, jest jednostronicowa, dlatego przewijanie do poszczególnym sekcji strony
jest wręcz kluczowe. Problem polega na tym, że po kliknięciu na odnośnik w menu głównym do wybranej sekcji
w adresie strony, pojawia się nazwa sekcji wpisana w href.

Przykład:
- w html stworzyłem sekcję


- w menu głównym, skorzystałem z opcji przewinięcia strony do sekcji "galeria" za pomocą:
Galeria

po przewinięciu strony do sekcji "galeria", w adresie www strony pojawia się www.mojastrona.pl//index.html#galeria

Jak ukryć /index.html#galeria ? Jest taka możliwość? Korzystam z html5, cc3 i kilku js. php mam tylko do formularza kontaktowego.

Pomocy! :smiley:


(Drobok) #2

Pytanie czy nie wkurzy to twoich użytkowników - w końcu oni chcą zapisać link do danej części strony a nie do domeny.

Ogólnie mógłbyś spróbować wcisnąć w event history.replaceState({}, ‘’, ‘/’)


(Fizyda) #3

http://stackoverflow.com/questions/5928435/append-remove-anchor-name-from-current-url-without-refresh


(ave20) #4

 

Jestem estetą. Wiem, że strony pisane w php nie mają takich odnośników.
W zasadzie, jeśli tylko ukryję te znaczniki, to przecież wciąż mogę linkować sekcje. Strona powinna otworzyć się na sekcji, ale w linku nie będzie to wyświetlone.

Główny powód, to fakt, że strona jest jednostronicowa - nie ma podstron. Nie widzę potrzeby, by wyświetlać index.html#galeria itd.

 

 

Sprawdzę, mam nadzieję, że zadziała :smiley:


(Fizyda) #5

Jak skopiujesz odnośnik bez kotwicy do sekcji to nie wyświetli się ona tylko góra strony (standardowo). PHP nie ma tutaj nic do gadania. Strony typu longpage są ostatnio modne i popularne, ale zawsze są w linkach kotwice, ba nawet jeśli nie klikniesz w menu to zjeżdzając do kolejnych sekcji na dobrze zrobionych stronach zmienia się url oraz jeśli jest taka potrzeba zmienia się aktywny przycisk w menu.

Z longpage’ami trzeba jednak uważać ponieważ czasami możemy utrudnić nawigację i poruszanie się po stronie. Widziałem już kilka tragicznie zrobionych stron. Bardzo często dobrą praktyką jest łączenie układu longpage z tradycyjnym dzielącym kolejne sekcje strony na nowe podstrony. Wszystko zależy jednak od tego jaki kontent chcemy zaprezentować w danym momencie.

 

Możesz zerknąć sobie na stronę główną mojej strony (www.fizyda.com - nie jest to jeszcze strona moich marzeń, ale jako przykład w tym przypadku wystarczy), masz tam też linki z submenu do poszczególnych sekcji na stronie głównej. Mimo wszystko strona posiada swoje dodatkowe podstrony. Po kliknięciu w odpowiednią pozycję w submenu dodawany jest # i nazwa kotwicy do której ma zostać strona przewinięta. Gdyby usunąć # i co po nim występuje to w tedy kopiując adres url (link) z paska przeglądarki i wysyłając go komuś, to tej osobie nie wyświetli się konkretna strona główna zaczynając od konkretnej sekcji lecz strona główna od samej góry.

 

Lepszym rozwiązaniem moim zdaniem byłoby wywalenie samego index.html, gdybyś chciał to usunąć to w tedy trzeba byłoby to zrobić w .htaccess za pomocą odpowiednich reguł rewrite lub redirect.