Ho un tag di ancoraggio che ha un valore href locale e una funzione JavaScript che utilizza il valore href ma lo indirizza in una posizione leggermente diversa da quella che normalmente sarebbe. Il tag ha questo aspetto
<a onclick="return follow(this);" href="sec/IF00.html"></a>
e una funzione JavaScript simile a
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Mi aspetto che item.href
restituisca solo una breve stringa di "sec / IF00.html", ma invece restituisce l'intero href, "http://www.thecurrentdomain.com/sec/IF00.html". C'è un modo in cui posso estrarre solo il breve href inserito nel <a>
tag di ancoraggio ? O lo perdo a causa del comportamento HTML naturale?
Suppongo di poter utilizzare una manipolazione delle stringhe per farlo, ma diventa complicato perché la mia pagina locale potrebbe effettivamente essere "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" e il mio campo href potrebbe o potrebbe non contenere una sottodirectory (per ex href="page.html"
vs. href="sub/page.html"
), quindi non posso sempre rimuovere ogni cosa prima dell'ultima barra.
Potresti chiederti perché lo chiedo, ed è perché renderà la pagina molto più pulita. Se non è possibile ottenere solo il breve href (come inserito nel <a>
tag di ancoraggio ), allora probabilmente potrei semplicemente inserire un campo extra nel tag, come link="sec/IF00.html"
, ma di nuovo, sarebbe un po 'più complicato.