Yerel href değerine sahip bir bağlantı etiketim ve href değerini kullanan ancak normalde gideceğinden biraz farklı bir yere yönlendiren bir JavaScript işlevim var. Etiket şöyle görünüyor
<a onclick="return follow(this);" href="sec/IF00.html"></a>
ve şuna benzeyen bir JavaScript işlevi
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
Bunun item.href
kısa bir "sec / IF00.html" dizesi döndürmesini beklerdim, ancak bunun yerine tam href, "http://www.thecurrentdomain.com/sec/IF00.html" döndürür. Bağlantı <a>
etiketine koyduğum gibi sadece kısa href'i çıkarmanın bir yolu var mı ? Yoksa bunu doğal HTML davranışıyla mı kaybederim?
Sanırım bunu yapmak için bir dize manipülasyonu kullanabilirim, ancak yerel sayfam aslında "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" olabilir ve href alanım veya içinde bir alt dizini olmayabilir (ex href="page.html"
vs. için href="sub/page.html"
), bu yüzden son eğik çizgiden önce her şeyi her zaman kaldıramam.
Bunu neden istediğimi merak ediyor olabilirsiniz ve bunun nedeni sayfayı çok daha temiz hale getirmesidir. Yalnızca kısa href'i elde etmek mümkün değilse (bağlantı <a>
etiketinde belirtildiği gibi), o zaman muhtemelen etikete fazladan bir alan ekleyebilirim link="sec/IF00.html"
, ama yine, bu biraz daha karmaşık olur.