我正在嘗試爲我創建的網站創建導航系統。我花了幾個小時試圖弄清楚,但我不明白爲什麼它不工作 我試圖用變量文件名替換所有「index.html」的事件。Javascript String.Replace does not work?
function changeSideNav(filenames)
{
var urlarray = window.location.href.split("?");
var url = urlarray[0];
alert(url); // This returns "http://localhost/xxx/index.html"
var urlspl = url.replace(/index.html/gi,filenames);
alert(url.replace(/index.html/i,filenames) +'/'+ filenames); //This returns "http://localhost/xxx/index.html/newpage.html" (if pram was newpage.html).
//i txpected it to return "http://localhost/xxx//newpage.html"
//set a new source
document.getElementById('SideNavIframe').src = urlspl +'/'+ filenames;
}
編輯: 我覺得這是奇怪的: 如果我試圖取代「/index.htm」明明不是「的index.html」,它消除了「/」從輸出,所以我得到「 HTTP://localhost/xxxindex.html/newpage.html」。
爲什麼不簡單'url.replace(「/ index.html」,文件名)'? – 2011-05-15 12:25:16
該代碼實際上工作得很好。 – Pointy 2011-05-15 12:26:51
如果我是你,我會提出一個'alert(文件名)'來確保你知道正在發生的一切。 – Pointy 2011-05-15 13:11:22