Mam znacznik zakotwiczenia, który ma lokalną wartość href, oraz funkcję JavaScript, która używa wartości href, ale kieruje ją do nieco innego miejsca niż normalnie. Znacznik wyglądaUzyskaj lokalną wartość href z tagu kotwicy (a)
<a onclick="return follow(this);" href="sec/IF00.html"></a>
i funkcji JavaScript, który wygląda jak
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Spodziewam się, że item.href
po prostu wrócić krótki ciąg „s/IF00.html”, ale zamiast tego zwraca full href, "http : //www.thecurrentdomain.com/sec/IF00.html". Czy istnieje sposób, że mogę wyciągnąć tylko krótki href, jak umieścić w tagu kotwicy <a>
? Czy mogę utracić to poprzez naturalne zachowanie HTML?
Przypuszczam, że mógłbym użyć manipulacji ciągiem, aby to zrobić, ale robi się to trudne, ponieważ moja strona lokalna może w rzeczywistości być "http : //www.thecurrentdomain.com/somedir/somepath/sec/IF00.html", i Moje pole href może mieć lub nie mieć podkatalogu (ex href="page.html"
vs. href="sub/page.html"
), więc nie zawsze mogę usunąć wszystkie rzeczy przed ostatnim ukośnikiem.
Być może zastanawiasz się, dlaczego o to pytam, a to dlatego, że po prostu sprawi, że strona będzie o wiele czystsza. Jeśli nie jest możliwe uzyskanie tylko krótkiego href (jak umieszczona w znaczniku <a>
), to mógłbym po prostu wstawić dodatkowe pole do tagu, takie jak link="sec/IF00.html"
, ale znowu byłoby trochę bałaganu.
PO już to próbował i nie daje mu pożądanych rezultatów. – Bobort