2014-02-24 17 views
1

我正在做一個網站,有3首頁,如「首頁A」,「首頁B」,「首頁C」。 這個頁面中的每一個都通過一個鏈接關聯到同一個「最終頁面」。因爲我希望用戶能夠回到他來自的起始頁面,所以我在「最終頁面」中添加了一個小小的導航欄,說(如果我來自「第一頁A」), :在Html中有一種方法可以讓鏈接目標知道我來自哪個頁面?

<a href=""> "first page A" </a> >>> Final Page 

所以我可以回到我點擊鏈接的起始頁面。

有一種方法可以告訴瀏覽器,如果我來自「第一頁A」寫入導航欄「第一頁A」,如果我來自其他頁面寫其他頁面?

謝謝這麼多!

+0

有許多如何做到這一點,例如使用'Referer' HTTP標頭,URL中的查詢部分或Cookie。所以這個問題實在太廣泛了。但目前還不清楚要問什麼。如果您想鏈接到用戶進入網站的網站頁面,則需要確定您是指某個會話(以及在哪種意義上)或第一次訪問,或*最近一次訪問A,B,C。 –

+0

這很簡單。爲了semplicity。它沒有被引用到任何會話。這只是因爲我使用了同一個頁面3個類別。所以當一個用戶在該頁面時,我只想讓他回到他來自的類別。 – user2748576

回答

2

是的,你可以使用GET參數來發送你來自哪個頁面,使用你的參數像finalpage.html?page=A [R鏈接,讓你的最後一頁上該值與document.location.search

這裏是一個小功能,可以幫助您在JavaScript中獲得的URL參數:

function getQueryParams(qs) { 
    qs = qs.split("+").join(" "); 

    var params = {}, tokens, 
     re = /[?&]?([^=]+)=([^&]*)/g; 

    while (tokens = re.exec(qs)) { 
     params[decodeURIComponent(tokens[1])] 
      = decodeURIComponent(tokens[2]); 
    } 

    return params; 
} 
qs = getQueryParams(document.location.search); 
alert(qs.page); 
+0

+1最佳解決方案。這是總是可靠的,不像'document.referrer' ... – War10ck

+0

使用得到,我需要使用方法得到一個形式而不是一個 ? – user2748576

+0

no you don't. you can just use 'Final'並獲得該值使用上述函數 –

3

您可以使用JavaScript來獲取信息:

<script type="text/javascript> 
    var prev_page = document.referrer; 
</script> 

比方說你的菜單股利是象下面這樣:

<div id="menu"> 
    <h2 id="menutitle">Page 1 <!--this will change dynamically now--></h2> 
</menu> 

然後使用JavaScript來設置菜單名稱:

<script type="text/javascript> 
    var prev_page = document.referrer; 
    switch(prev_page) { 
     case 'http://link url here': <!- say this page1 --> 
      document.getElementById('menutitle').innerText = "Page1" 


    } 
</script> 
+0

好的,謝謝,這很清楚,所以使用方法get不安全? – user2748576

+0

你可以使用GET,但這是另一種選擇。這將一切都保存在一個位置。而你沒有添加額外的元素。兩者都是正確無誤的解決方案,因爲您不會在獲取參數中傳遞重要信息... –

+0

非常感謝您的支持,我將使用GET方法,因爲我認爲在使用名稱時它更通用與之間的空間作爲鏈接標題。 – user2748576

0

使用:

var referrer = document.referrer; //stores referrer 
if(referrer && referrer != "") 
{ 
    //set the href to referrer 
} 
相關問題