2011-09-26 43 views
1

我有一個退出頁面,通知用戶他們將離開我的網站。如何從引薦頁面捕獲目標網址,並在用戶知道他們要離開我的網站並希望繼續到達目的地後,在退出頁面上確認後將其發送給該用戶?我目前的設置使用絕對鏈接,但不使用相對路徑。在href標記中捕獲url

這個工程:

href="http://acme.com/company/brand/leaving/?url=http://www.about.info/choices/ 

這並不:

href="../COMPANY/BRAND/leaving/?url=http://www.about.info/choices/" 

繼續按鈕觸發以下功能:

function gbye(){ 
    var url = window.location.toString(); 
    var url_arr= url.split("?url="); 

if(url_arr.length>1) 
{ 

    try 
    { 
     window.location = url_arr[1]; 

    } 
    catch (e) 
    { 
    } 
} 

    return false; 
} 

任何人都可以解釋爲什麼與相關的HREF路徑不起作用(返回一個目錄列表),以及我如何使相對路徑工作?

+0

您使用相對url的大寫字母和絕對url的普通字符。 – Gerben

+0

哎呀,這是一個錯字。爲了隱私,我掩蓋了實際的目錄名稱。 – kjarsenal

回答

2

大多數服務器都在Linux環境下運行,其中文件系統區分大小寫,即具有不同情況的文件名會被區別對待。

如果第一個鏈接正常工作,請使用../company/brand/leaving/?url=...。我建議使用/(絕對根目錄)而不是../,因爲在使用/時,如果將文件移動到其他目錄,則不必編輯文件。

+0

用於重寫網址的僞造參數 - 如果網站移動,則絕對網址將不得不被更改,而相對網址只會在並行目錄移動/重命名時更改。 –

+0

@MarcB考慮'http:// host.name/sub/dir/file.htm'是一個文件,鏈接到'../ dir/resource'。該文件移動到'http:// host.name/new.htm'。現在,假設指針是'../../ dir/resource'。在第一個位置,鏈接指向「http:// host.name/dir/resource」。在新的位置,文件指向'http:// host.name/dir/resource'。這兩個網址完全不同。如果使用'/'而不是'../',這個問題將不會發生。 –

+0

如果您將/ sub更改爲/ newsub,則所有鏈接都必須重寫。將鏈接從相對變爲絕對不會奇蹟般地解決問題。無論哪種方式,文件必須更新。建議switchinh絕對是靈丹妙藥是完全錯誤的。 –