У меня есть тег привязки, который имеет локальное значение href, и функция JavaScript, которая использует значение href, но направляет его в немного другое место, чем обычно. Тег выглядит как
<a onclick="return follow(this);" href="sec/IF00.html"></a>
и функция JavaScript, которая выглядит как
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Я ожидал, что item.href
это просто вернет короткую строку «sec / IF00.html», но вместо этого она вернет полный href, «http://www.thecurrentdomain.com/sec/IF00.html». Есть ли способ вытащить только короткий href, как указано в <a>
теге привязки ? Или я теряю это из-за естественного поведения HTML?
Полагаю, я мог бы использовать для этого манипуляции со строками, но это становится сложно, потому что моя локальная страница может на самом деле быть «http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html», а мое поле href может или может не иметь в нем подкаталога (например, href="page.html"
против href="sub/page.html"
), поэтому я не всегда могу просто удалить все, что находится до последней косой черты.
Вы можете спросить, почему я запрашиваю это, потому что это просто сделает страницу намного чище. Если невозможно получить только короткий href (как указано в <a>
теге привязки ), то я, вероятно, мог бы просто вставить дополнительное поле в тег, например link="sec/IF00.html"
, но опять же, это было бы немного сложнее.
источник