2013-04-11 79 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 
} 
});