Usuwanie kotwicy urla

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam

mam mały kłopot z adrem url. Po kliknięciu w jakiś link, za pomocą AJAX-a, ładuje do danego div, content strony, teraz gdy zamykam tę stronę, kotwica pozostaje w url : <a href='#'>zamknij</a>
Jeśli usunąłbym ją z atrybutu href strona się przeładuje a tego nie chcę.

Podsumowując :
z url localhost://mojastrona/ do którego doklejam kotwice z nazwą strony (cokolwiek), np. localhost://mojastrona/#tomojastrona
chciałbym wrócić, po zakmnięciu do pierwotnej postaci url. Zostaje jednak w url '#'.
Nie wiem jak inaczej to zrobić.

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
0

w handlerze eventu click daj na końcu return false;

edit: czekaj, nie doczytałem do końca ;)
natomiast z końcówki Twojego posta nic nie rozumiem.

Robisz ładowanie ajaxem i chcesz do tego obsługę przycisków wstecz/dalej?

Ogólnie nie rozumiem tego: "za pomocą AJAX-a ładuje do danego div content strony" razem z "teraz gdy zamykam tę stronę". Jak zamykam, skoro zmienia się treść diva?

A przecinki fajnie stawiasz, ogólnie konstrukcja zdań na 5+ ...

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
1

z tego co wiem nie możesz pozbyć się znaczka hasz bez przeładowania strony. prościej będzie nie ładować go tam, np. takim sposobem, jak podał dzek69 - <a href='#' onlick='close(); return false;'>zamknij</a>, return false jest tu strategicznie ważny.

  • Rejestracja: dni
  • Ostatnio: dni
0

ok, dzięki !

Mam jeszcze jedno pytanie z tym związane. Szukam pomysłu jak otworzyć daną podstronę w nowym oknie jeśli wyłączona jest obsługa JavaScript, a jeśli włączona pokaż podstronę jako AJAX.
Wszystko opiera się o ten tag : target='_blank', nie wiem jak się go pozbyć gdy JS jest włączony.

Najlepiej by było zrobić to warunkiem w PHP :)

Kopiuj
if ($noscript == false) 
   echo "<a href='#ajax' />";
else
   echo "<a href='link do podstrony' target='_blank' />";

Nic mi nie daje też usunięcie tego tagu w jQuery, gdy wykonuje się zdarzenie onClick :
$('a').removeAttr('target');

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

usuwaj target przed onclick, czyli np. po załadowaniu strony usuń target ze wszystkich "a".

unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
1

skoro ładujesz w onclicku stronę ajaxem to też wystarczy dodać "return false" do funkcji i nic się nie wykona poza tym
nie musisz usuwać żadnego atrybutu

albo raczej zgodnie z myślą jQuery powinieneś zamiast "return false" pisać

Kopiuj
event.preventDefault();

dzięki temu zdarzenie zostanie przekazane "wyżej" - na przykład jeżeli link masz osadzony w divie to div też dostanie onclicka i będziesz mógł dodać jakiś efekt

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.