Tengo una etiqueta de anclaje que tiene un valor href local y una función de JavaScript que usa el valor href pero lo dirige a un lugar ligeramente diferente al que iría normalmente. La etiqueta se parece a
<a onclick="return follow(this);" href="sec/IF00.html"></a>
y una función de JavaScript que se parece a
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Esperaría que item.href
solo devolviera una cadena corta de "sec / IF00.html", pero en su lugar devuelve el href completo, "http://www.thecurrentdomain.com/sec/IF00.html". ¿Hay alguna manera de que pueda extraer solo el href corto como se coloca en la <a>
etiqueta de anclaje ? ¿O lo pierdo por el comportamiento HTML natural?
Supongo que podría usar una manipulación de cadenas para hacer esto, pero se vuelve complicado porque mi página local puede ser "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html", y mi campo href puede o puede que no tenga un subdirectorio (por ejemplo, href="page.html"
vs. href="sub/page.html"
), por lo que no siempre puedo eliminar todo antes de la última barra.
Quizás se pregunte por qué solicito esto, y es porque simplemente hará que la página sea mucho más limpia. Si no es posible obtener solo el href corto (como se coloca en la <a>
etiqueta de anclaje ), entonces probablemente podría simplemente insertar un campo adicional en la etiqueta, como link="sec/IF00.html"
, pero nuevamente, eso sería un poco más complicado.
fuente