Rails3 - есть ли способ узнать, была ли использована хеш-ссылка (внутренняя ссылка)? - PullRequest
0 голосов
/ 19 ноября 2010

У меня есть клиент, который хочет, чтобы на странице были скрыты условия предоставления услуг в нижней части страницы по следующим критериям:

1) при нормальной загрузке страницы символы должны быть скрыты с помощью триггера js рядом с заголовком для переключения отображения 2) если была нажата внутренняя ссылка, либо а) с текущей страницы, либо б) с внешней страницы, символы должны отображать

Для № 1 и № 2а (переход на внутреннюю ссылку с указанной страницы) не проблема. Именно для # 2b, когда пользователь заходит с другой страницы с #tos в URL, я не знаю, как обнаружить присутствие # tos.

Итак, если UserA находится на странице / foo и нажимает на ссылку на / bar # tos, как я могу сказать при обработке запроса на страницу / bar, что якорь #tos существует, чтобы я мог показать условия обслуживания?

Единственное, о чем я мог подумать, - это сбросить объект запроса и посмотреть туда, надеясь, что он был в path_in, query_string или что-то еще, но это не так. В противном случае, я действительно не знаю, где искать.

Я знаю, что внутренние ссылки предназначены для создания ссылок внутри страницы, и если мне нужно, чтобы page / foo указывал странице / панели что-то делать, я должен использовать параметры, а не внутреннюю ссылку. Тем не менее, мой клиент хочет получить хеш-ссылку #tos по причинам seo, поэтому я пытаюсь найти решение для них. Любая помощь?

1 Ответ

1 голос
/ 19 ноября 2010

Скорее всего, вам нужно решить эту проблему с помощью JavaScript.Вы должны быть в состоянии сделать что-то вроде:

if(window.location.hash == '#tos'){
    showTos();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...