Rails3 - 有没有办法判断是否使用了哈希链接(内部链接)?

时间:2010-11-19 09:25:02

标签: html ruby-on-rails

我的客户希望页面的服务条款隐藏在页面底部,并符合以下条件:

1)在正常页面加载时,应使用标题旁边的js触发器隐藏tos以切换显示 2)如果单击内部链接,a)从当前页面或b)从外部页面,tos应显示

对于#1和#2a(点击所述页面的内部链接),没问题。 对于#2b,当用户来自url中带有#tos的另一个页面时,我不知道如何检测#tos的存在。

因此,如果UserA位于page / foo并点击指向/ bar#tos的链接,如何处理页面/栏的请求时,锚#tos存在,以便我可以显示服务条款

我唯一能想到的就是转储请求对象并查看希望它在path_in,query_string或其他内容,但事实并非如此。否则,我真的不知道在哪里看。

我知道,内部链接用于链接页面内部,如果我需要page / foo告诉页面/栏做某事,我应该使用参数而不是内部链接。但是,由于seo的原因,我的客户想要哈希链接#tos,所以我试图找到他们的解决方案。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您最需要使用JavaScript解决此问题。您应该可以执行以下操作:

if(window.location.hash == '#tos'){
    showTos();
}