ฉันมีแท็กจุดยึดที่มีค่า 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"
vs. href="sub/page.html"
) ดังนั้นฉันจึงไม่สามารถลบทุกอย่างก่อนเครื่องหมายทับสุดท้ายได้เสมอไป
คุณอาจสงสัยว่าทำไมฉันถึงขอสิ่งนี้และเป็นเพราะมันจะทำให้หน้าสะอาดขึ้นมาก หากไม่สามารถรับเพียง href สั้น ๆ (ตามที่ใส่ไว้ใน<a>
แท็กจุดยึด) ฉันก็อาจจะแค่แทรกฟิลด์พิเศษลงในแท็กเช่นlink="sec/IF00.html"
แต่อีกครั้งนั่นจะยุ่งกว่าเล็กน้อย