Ho un tag anchor con un valore href locale e una funzione JavaScript che utilizza il valore href ma lo indirizza in un punto leggermente diverso rispetto a quello normale. Il tag sembraOttieni valore href locale dal tag anchor (a)
<a onclick="return follow(this);" href="sec/IF00.html"></a>
e una funzione JavaScript che assomiglia
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Mi aspetterei che item.href
sarebbe solo restituire una breve stringa di "sec/IF00.html", ma invece restituisce il full href, "http : //www.thecurrentdomain.com/sec/IF00.html". C'è un modo per estrarre solo il breve href come inserito nel tag di ancoraggio <a>
? O lo perdo per comportamento HTML naturale?
Suppongo che potrei usare una manipolazione di stringhe per fare questo, ma diventa complicato perché la mia pagina locale potrebbe essere "http : //www.thecurrentdomain.com/somedir/somepath/sec/IF00.html", e il mio campo href può o non può avere una sottodirectory in esso (per ex href="page.html"
vs. href="sub/page.html"
), quindi non posso sempre rimuovere ogni cosa prima dell'ultima barra.
Ci si potrebbe chiedere perché lo sto chiedendo, ed è perché renderà la pagina molto più pulita. Se non è possibile ottenere solo lo short href (come inserito nel tag anchor <a>
), probabilmente potrei semplicemente inserire un campo extra nel tag, come link="sec/IF00.html"
, ma, di nuovo, sarebbe un po 'più confuso.
L'OP lo ha già provato e non gli dà i risultati desiderati. – Bobort