2017-02-13 57 views
0

該腳本從組合框中獲取選擇,並使用所選值重定向到特定路徑並打開選定的網頁。可變路徑不工作的Window.location

function redirect(){ 
var obj = document.getElementById("cat"); // 
var obj2= document.getElementById("sub1"); 
var obj3= document.getElementById("sub2"); 
var redir2=obj2.options[obj2.selectedIndex].text.substring(0,4); 
var redir =obj.options[obj.selectedIndex].text.substring(0,4); // 
var redir3 =obj3.options[obj3.selectedIndex].text.replace(/ /g,"_");  

var url= redir+"/"+redir2+"/"+redir3+".php"; 
url=url.toLowerCase(); 

alert(url); 

window.location.href = "np/categories/"+url;} 

由於某些特殊原因,在監視firefox上的日誌時,它有時會運行路徑,有時它不會。

無論哪種方式,它從不加載選擇的頁面。 (測試路徑和頁面都存在)。有時候我在Mozilla網絡控制檯狀態綠燈,這樣

GET http://localhost/np/cat/auto/serv/testingpage.php [HTTP/1.1 200 OK 0毫秒]

它從來沒有真正加載頁面。 我該如何解決這個問題?

+0

究竟會be'url'看起來像? – brk

+0

添加一些輸入樣本 – iceDragon

+0

redirect()函數應該在某個事件中調用。 –

回答

0

您可能有不同的相對路徑,它可能無法正常工作。 window.location.origin爲您提供完整的原始路徑,例如當前頁面:「http://stackoverflow.com」。

那麼試試這個:

window.location.href = window.location.origin + "/np/categories/" + url; 
+0

我和這個解決方案的結果完全一樣。 甚至嘗試使用window.location.pathname =「....」得到相同的結果。 –

+0

在瀏覽器控制檯運行該命令並向我提供結果。 – AHBagheri

+0

剛剛試過這個「window.open(」/ np/categories /「+ url);」它運行在它應該,它是,它打開一個新的標籤...但我想加載新的網頁上相同的頁面...所以我想這個問題不是路徑,(路徑很好(運行window.open時檢查) –

0

這是不能夠找到基本路徑

試試這個

window.location.href = window.location.origin + "/np/categories/"+url; 
+0

我和這個解決方案的結果完全一樣。 甚至嘗試使用window.location.pathname =「....」得到相同的結果。 –