Usuwanie kotwicy urla

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ć.

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+ ...

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.

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 :)

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');

0

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

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ć

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1