Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[PHP] - Link z niewidoczną informacją

11111olo 11 Apr 2016 17:51 675 5
  • #1
    11111olo
    Level 42  
    Witam.
    Napisałem galerię plików, w której użyty jest tylko jeden plik.
    Samo dodanie do linku ?dana=tresc i odczyt tego nie stanowi problemu.
    Jednak w takiej formie nie działa dodane menu - nie otwiera się.
    Użyłem tego skryptu do menu.

    Gdy w adresie strony na samym końcu jest html, to wszystko działa jak należy, czyli menu otwiera się na klikniętym odnośniku. Po dodaniu informacji ?dana=tresc skrypt uznaje, ze nie istnieje taki wpis w menu.
    W jaki sposób to obejść, czyli wygenerować link lub przesłać jakąś informację, która nie będzie widoczna w adresie strony?
  • #2
    Dżyszla
    Level 42  
    JS, ewentualnie w połączeniu a AJAX, ale nie ma to raczej sensu. Po prostu przesyłasz całą treść na stronę i ukrywasz z urzędu (np. display: none), a po kliknięciu wywołuejsz kod JS, który pokaże (np. display:inline). Mniej więcej tak jest w podanym przykładzie.

    Możesz też ułatwić sobie sprawę, chcąc zrobić coś efektownego, i skorzystać np. z jQuery, dzięki któremu jednym poleceniem zrobisz animowane 'otwarcie'.

    PHP tu nie ma nic do gadania.
  • #3
    11111olo
    Level 42  
    Tylko muszę podać informację co ma się pojawić po kliknięciu linka.
    A jeśli będę chciał tak zrobić z listą kilkudziesięciu stron, z której każda zajmuje po kilkadziesiąt KB, to pomijając tracony transfer, będzie się to ładowało i ładowało.

    A nie pomogą tu ciasteczka lub coś w tym stylu?

    ****************
    Dziś rozwiązałem swój problem, tylko nie jestem pewien czy można to zrobić jakoś inaczej.
    W skrypcie JS od menu dopisałem 2 linie

    Code: javascript
    Log in, to see the code

    a dalsza część skryptu jest taka jak na stronie autora.
    Czy istnieje jakiś inny sposób na podział stringu w JS niż za pomocą split?
    Przeczytałem, że split nie działa pod IE, pod IE 11 działa, więc stąd moje pytanie.
  • #4
    Dżyszla
    Level 42  
    Ale nie rozumiem - chciałeś rozwijane menu, czy dynamiczne ładowanie treści strony? Jeśli to drugie, to zapoznaj się po prostu z AJAXem. Bo przedstawiony skrypt bazuje właśnie na zabawą z ukrywaniem i pokazywaniem już istniejącej treści.
  • Helpful post
    #5
    LED5W
    Level 33  
    11111olo wrote:
    Czy istnieje jakiś inny sposób na podział stringu w JS niż za pomocą split?
    Masz dwie linie wyżej. Zamień /#.*/ na /[#?].*/. To wyrażenie jest też w innych miejscach tego skryptu, więc trzeba wszystkie zmienić.
  • #6
    11111olo
    Level 42  
    @LED5W tak też działa, dzięki.
    Dżyszla do ukrywania i odkrywania fragmentu strony skorzystałem z takiego skryptu
    Code: javascript
    Log in, to see the code

    ale to już inna historia.