【问题标题】:Rails3 -- Is there a way to tell if a hash link (internal link) has been used?Rails3——有没有办法判断是否使用了哈希链接(内部链接)?
【发布时间】:2010-11-19 09:25:01
【问题描述】:

我有一个客户希望页面将其服务条款隐藏在具有以下条件的页面底部:

1) 在正常页面加载时,tos 应隐藏,并在标题旁边使用 js 触发器来切换显示 2)如果点击了内部链接,无论是a)来自当前页面还是b)来自外部页面,tos应该显示

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

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

我唯一能想到的就是转储请求对象并在那里查看,希望它在 path_in、query_string 或其他东西中,但事实并非如此。不然真不知道去哪里找。

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

【问题讨论】:

  • 8 个问题,没有接受的答案?
  • 什么样的seo处理hrefs中的哈希?

标签: html ruby-on-rails


【解决方案1】:

您很可能需要使用 JavaScript 来解决这个问题。您应该能够执行以下操作:

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

【讨论】:

  • 很公平。我希望有一个服务器端解决方案,但这会起作用。感谢您的回复。
猜你喜欢
  • 2013-06-19
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 2013-11-02
  • 2019-03-24
相关资源
最近更新 更多