[JS] [Native code]

0

Mam następujący problem dotyczący Java Script.

Otóż otwieram okno POPUP, w którym wyświetlam listę tematów.

Do nich dorabiam 3 linki nawigacyjne takie jak: NASTĘPNY, POPRZEDNI i ZAMKNIJ.

"Programuję" je następująco:

<a href="javascript:window.history.back">&laquo; Poprzedni</a>
<a href="javascript:window.history.forward">Następny &raquo;</a>
<a href="javascript:window.close">Zamknij</a>

I teoretycznie wszystko powinno być OK, jednak nie jest.

Dostaję następujące błędy, po kliknięciu na nie:

function back() { [native code] }
function forward() { [native code] }
function close() { [native code] }

Czy ktoś się już z tym spotkał ? Jak temu zaradzić ?

0

Może javascript nie jest najlepszym językiem, ale to nie znaczy, że jest aż tak spaprany jak C# ;). Konkretniej: w js nie masz czegoś takiego jak "właściwości" (czy jak to się w c# po polsku nazywa) - tutaj każdą funkcję musisz po prostu wywołać.

Poza tym to nie są akurat błędy. Kod "window.history.back" zwraca funkcję anonimową, pod którą przeglądarka próbuje przejść (bo dałeś to w "href" - dopiero tutaj się wysypuje).

Łopatologicznie: zmień "href" na "onclick" oraz dodaj "()" po nazwie każdej z funkcji. Nie polecam także korzystania z popupów "okienkowych" (to zło), już lepiej a'la popupy, jak overlib.

0

Dzięki Tomkiewicz.

Javascript to jest to z czym miałem problem i pewnie zawsze będę miał.
Nie mogę się tego nauczyć.

A tak na zakończenie i rozwiązanie tematu należy wspomnieć, żeby po dopisaniu ONCLICK'a nadal działał link należy dla href ustawić # czyli:

<a href="#" onclick="window.history.back()">TEKST</a>

0

można też w ogóle usunąć href="#"

0

Ale wtedy nie będzie przyjmował stanu hover ani visited ;)

0

href="#" jest dość brzydkim rozwiązaniem...

Jeżeli naprawdę potrzebujesz tych stanów (pod firefoxem i bez tego działają, trzeba tylko css dla kursora zrobić) - daj przynajmniej na końcu onclicka "; return false". Wtedy przeglądarka z js zignoruje href (i nie pojawi się on, nawet na chwilę, w pasku adresu).

0

Czytajcie porneL'a :P
http://pornel.net/onclick#sec60

0

rzeczywiście, pod tym linkiem został porządnie poruszony temat :)

Nie zgadzam się do końca tylko z jednym - "A gdy nie da się wymyślić sensownego href?". Metoda ze span wydaje mi się przekombinowana i dodaje zbędne elementy, jeżeli ktoś nie używa js. Ja to robię po prostu wstawiając odpowiednie linki javascriptem, bez ustawiania href, jedynie onclick.

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