2010-02-10 18 views
10

Masz dziwny problem na stronie. Tag linku mający href="#anything" nie przenosi Cię na górę strony lub do określonej kotwicy, przenosi Cię na stronę główną. To jest to - po najechaniu na link widzę na pasku stanu mojej FF example.com/# zamiast example.com/testpage.php#.href = "#" przekierowuje do strony indeksu, ale nie do bieżącej strony głównej

strony jest pełna kodu bzdura i że to niemożliwe, aby sprawdzić wszystkie ustawienia i konfigurację zwłaszcza nagłówka lub itp

Wszelkie wskazówki na temat tego, gdzie może być?

P.S. Link href nie został zmieniony w JS, Firebug twierdzi, że jest href="#" kiedy go kliknę.

+0

Co strona jesteś na kiedy to nastąpi? –

+1

Czy zdefiniowano atrybut docelowy? –

+0

Pokaż nam swój kod, w którym zdefiniowano cel "#anything". Nie powtarzasz '#' w nazwie/ID celów ... tylko 'coś'. – philfreo

Odpowiedz

16

Moja początkowa myśl polega na tym, że w grze może znajdować się base tag. Sprawdź swój kod taki jak poniżej, i usunąć go, jeśli to konieczne:

<base href="http://www.mydomain.com/testpage.php" /> 

Oczywiście ostrożność jest konieczna, ponieważ mogą wystąpić pewne znaczniki, które jest zależne od istniejących wcześniej znaczników bazowych. Należy również upewnić się, że wartość href nie jest poprzedzone foward kreską tak:

<a href="/#anything">Click Me</a> 

Jak to trafi do #anything na domyślnej strony startowej w katalogu głównym.

+1

yep znalazł tag podstawowy i po prostu potwierdził, że jest źródłem zła. Dzięki! – Brock

+1

@Brock Czy to było przeznaczone na kalambur? :) Hehe. – Sampson

3

Być może masz tag <base> w sekcji <head> swojego kodu?

To spowoduje, że wszystkie względne żądania url zaczynają się od określonego href w tagu base. Jeśli strona polega na jej obecności, zdecydowanie odradzam ci jej usunięcie lub możesz być w trakcie aktualizacji.

Więcej informacji:

+0

Dzięki, jest to tag podstawowy. – Brock