ローカルのhref値を持つアンカータグと、href値を使用するが、通常とは少し異なる場所に転送するJavaScript関数があります。タグは次のようになります
<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」を返します。<a>
アンカータグに入れた短いhrefだけを引き出す方法はありますか?それとも、自然なHTMLの動作によってそれを失いますか?
文字列操作を使用してこれを行うことができると思いますが、ローカルページが実際には「http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html」である可能性があり、hrefフィールドが可能性があるため、注意が必要です。または、サブディレクトリが含まれていない可能性があるため(ex href="page.html"
vs.のhref="sub/page.html"
場合)、最後のスラッシュの前にすべてのものを削除できるとは限りません。
なぜ私がこれを要求しているのか不思議に思うかもしれませんが、それはページがずっときれいになるからです。(アンカータグに配置されているように)短いhrefだけを取得できない場合は<a>
、タグに追加のフィールドを挿入することもできlink="sec/IF00.html"
ますが、これも少し面倒です。