Как вызвать функцию JQuery только с URL? - PullRequest
4 голосов
/ 08 мая 2009

это мой первый вопрос .. итак, поехали.

У меня есть сайт, 100% xhtml / css с некоторыми функциями ajax благодаря jquery.

т. Е. Проблема в том, что ... для всех "подстраниц" ... URL остается неизменным (index.php) ..

мой вопрос ..

Позволяет ли jquery некоторым параметрам URL вызывать определенную функцию?

пример: www.mypage.com -> домашняя страница .. если я нажму на ... скажем, продукты ... URL будет таким же ... и если я попытаюсь отправить URL на друг (скопируйте и вставьте) это будет www.mypage.com .. так что .. если мой друг нажмет на ссылку, он будет перенаправлен на домашнюю страницу, а не на страницу продуктов, с которой я хочу поделиться его.

В любом случае можно ли задать URL-адрес как .. www.mypage.com?s=products для запуска события jquery без использования php?

заранее спасибо.

Ответы [ 5 ]

2 голосов
/ 08 мая 2009

http://blog.rebeccamurphey.com/2007/12/04/anchor-based-url-navigation-with-jquery/

Никогда не делал этого, но у этого сайта довольно простой метод.

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

Когда приходит новый пользователь, вы анализируете строку запроса (как упомянуто выше) и затем выполняете соответствующее действие навигации.

2 голосов
/ 08 мая 2009

Мне кажется, что вы хотите изменить строку запроса, не перезагружая страницу. Это невозможно. Что вы можете сделать, это изменить часть #anchor в URL, чтобы ваши ссылки ajax установили расположение mysite.com/#products, а затем использовали jquery для обнаружения во время загрузки и действовали соответственно.

2 голосов
/ 08 мая 2009

Обычно фальшивые страницы в приложении AJAX изменяют строку запроса, добавляя что-то после #, например www.mypage.com/#products. Если вы попытаетесь изменить URL-адрес на другой URL-адрес в JavaScript, браузер перенаправит на эту страницу. Однако, если изменение происходит после #, оно останется на странице (и попытается поместить элемент с таким идентификатором в верхнюю часть окна браузера).

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

window.location.hash = 'products';

Затем вы можете искать это при загрузке страницы, чтобы вы знали, какую страницу получить.

Существует также ряд готовых библиотек JavaScript, которые заботятся о том, чтобы история работала корректно в подобных сценариях, хотя я не знаю достаточно, чтобы рекомендовать конкретную библиотеку.

2 голосов
/ 08 мая 2009

Плагин jquery querystring предоставляет простой способ анализа строк запроса.

1 голос
/ 08 мая 2009

Для такого рода функциональности доступно множество плагинов. Ключевое слово для их поиска - «история»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...