2013-04-11 75 views
0

好吧,我爲一個朋友創建一個網站,他希望網站以下列方式工作。當擴展改變時改變一個網站的內容

他有一個頁面有兩個部分可以出現。一次只能出現一個部分。一個按鈕用於在不同部分之間切換。我現在這樣做的方式是使用兩個div並按下按鈕時顯示/隱藏它們。因此,如果第1部分顯示和按鈕被按下,第1部分將淡出,第2部分將面臨。

這一切都很好,但他希望能夠發送人鏈接到他的網站,並取決於在擴展上顯示特定的部分。例如,可以說這兩個部分是積分和內容。如果他向某人發送了www.site.com/credits的網址,則他希望顯示信用部分。如果他發送www.site.com/content的網址,他希望內容部分出現。他還想保持按鈕點擊以在兩者之間切換。

我一直在研究它,它似乎可以使用哈希值(#)來完成,例如www.site.com#credits。有沒有辦法做到這一點,但使用/而不是#的?

編輯

關於這個的另一件事是,他不喜歡的頁面點擊按鈕時,他只是想用JavaScript來改變部分時刷新。

+1

你真的想在/ url中使用/做這個嗎?這是一個單頁網站嗎?你想學習如何使用mod_rewrite? – 2013-04-11 11:59:58

+0

爲什麼不使用URL參數,比如'www.site.com?dis = credits'。然後在你的後端,讓控制器簡單地檢查'GET',並根據結果顯示帶有數據變量的頁面。然後在JS中使用該變量來確定在document.ready中顯示哪個面板。請參閱[這裏是關於顯示來自url的數據的示例問題](http://stackoverflow.com/questions/14883280/best-way-to-send-data-from-controller-to-view-after-a-form-被提交) – SpYk3HH 2013-04-11 12:01:48

+0

散列值將簡單地將頁面指向該特定元素 – SpYk3HH 2013-04-11 12:06:18

回答

1

如果您正在運行Apache,則可以使用重寫模塊。

例如,將其設置是這樣的:

RewriteEngine On 
RewriteRule ^/(credits|content)/?$ switch.php?view=$1 

然後在switch.php你必須評估你的view變量GET與段會默認顯示的URL。

0

this將幫助您從您的網址獲取最後一部分,因爲您可以隱藏/顯示您的內容或點數。

jQuery(function() { 
var url, page, n; 
url = window.location.pathname; 
n = url.lastIndexOf('/'); 
if (n >= 0) { 
    page = url.substring(n + 1); 
} 
if(page == "content"){ 
//display content 
} else { 
//display credits 
} 
});