Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dynamiczne adresy a js
Forum PHP.pl > Forum > PHP
marcinek37
Powiedzmy, że strona znajduje się pod adresem http://www.abc.pl/
adresy na niej tworzą się wg schematu: /modul/ID/nazwa_materialu/

jeśli byłbym pod dokładnym adresem: http://www.abc.pl/artykuly/14/nazwa/ i kliknąłbym na materiał o adresie: /artykuly/120/inna_nazwa/ zostałbym przeniesiony na adres:
http://www.abc.pl/artykuly/14/nazwa/artyku...0/inna_nazwa/... którego oczywiście nie ma...

dlatego do sekcji HEAD dodałem:
<base href="http://www.abc.pl/" />
i tym samym problem został rozwiązany

jednak na stronie jest nieco skryptów, np. rozwijane menu, gdzie użytkownik może niechybnie kliknąć na link "#", przez co nie zatrzyma się np. pod adresem: http://www.abc.pl/artykuly/14/nazwa/
a zostanie przeniesiony na: http://www.abc.pl/# - co oczywiście jest niedopuszczalne

co zrobić?
cv65
Podawaj pełne linki do strony w a href, link, style, script, img

np

Kod
<img src="http://www.strona.pl/images/obrazek.jpg" />


tak samo w przypadku gdy odnosisz się do artykułów

Kod
<a href="http://www.abc.pl/artykuly/14/nazwa/">Link</a>


i wtedy bez <base>
marcinek37
to niesamowicie dużo pracy, nie można temu zaradzić w inny sposób?
jakiś mini skrypcik js na to istnieje?
tehaha
do linków, które nie mają być aktywne możesz dodać zdarzenie onclick:
  1. <a href="" onclick="return false;"></a>

lub jeżeli korzystasz z biblioteki jQuery można to zrobić bardziej elegancko dodając do linków klasę np. notActive i kod js:
  1. $('a.notActive').on('click', function()
  2. {
  3. return false;
  4. });
Greg0
A do wpisywania całych adresów możesz zrobić funkcję PHP gdyby przyszła potrzeba zmiany zmeianiasz jedną funkcję a nie wszystkie linki
marcinek37
tehaha, bardzo dziękuję!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.