Mam tag kotwicy, który ma lokalną wartość href i funkcję JavaScript, która używa wartości href, ale kieruje ją w nieco inne miejsce niż normalnie. Tag wygląda jak
<a onclick="return follow(this);" href="sec/IF00.html"></a>
oraz funkcję JavaScript, która wygląda jak
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Spodziewałbym się, że item.href
zwróci to po prostu krótki ciąg „sec / IF00.html”, ale zamiast tego zwróci pełny href, „http://www.thecurrentdomain.com/sec/IF00.html”. Czy jest sposób, żebym mógł wyciągnąć tylko krótki href umieszczony w <a>
tagu kotwicy ? A może stracę to przez naturalne zachowanie HTML?
Przypuszczam, że mógłbym użyć do tego manipulacji na ciągach znaków, ale staje się to trudne, ponieważ moja lokalna strona może faktycznie mieć adres „http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html”, a moje pole href może lub może nie mieć w nim podkatalogu (np. ex href="page.html"
vs. href="sub/page.html"
), więc nie zawsze mogę po prostu usunąć wszystko przed ostatnim ukośnikiem.
Możesz się zastanawiać, dlaczego o to proszę, a dzieje się tak, ponieważ dzięki temu strona będzie znacznie czystsza. Jeśli nie jest możliwe uzyskanie tylko krótkiego href (tak jak zostało to umieszczone w <a>
tagu kotwicy ), prawdopodobnie mógłbym po prostu wstawić dodatkowe pole do tagu, na przykład link="sec/IF00.html"
, ale znowu, byłoby to trochę bardziej bałaganiarskie.
źródło