2012-03-18 3 views
8

Есть ли какой-либо небольшой фреймворк, который обеспечивает обработку hash/url, похожую на sammy.js? Мне нужно привязать обратные вызовы к маршрутам - не только для «обычных» запросов на получение, но также для отправки/отправки/удаления сообщений (оба вызваны ссылками/формами или вручную из моего кода).Легкая альтернатива Sammy.js

Это в значительной степени это, и поскольку я уже использую некоторые другие фреймворки/библиотеки, такие как jQuery и knockout.js, я не хочу включать фреймворк вроде Sammy (который обеспечивает слишком много функциональности, что я не собирается использовать).

ответ

9

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

Это называется Simrou и может быть раздвоенной на https://github.com/buero-fuer-ideen/Simrou

+1

+1 Для написания совершенно новой библиотеки! – hitautodestruct

7

History.js.

History.js изящно поддерживает API-интерфейсы истории/состояния HTML5 (pushState, replaceState, onPopState) во всех браузерах. Включая постоянную поддержку данных, названий, replaceState. Поддерживает jQuery, MooTools и Prototype. Для браузеров HTML5 это означает, что вы можете изменить URL-адрес напрямую, без необходимости использовать хеши. Для браузеров HTML4 он вернется к использованию старой функции onhashchange.

4

Вы можете использовать pager.js. Его действительно классная библиотека скриптов java, с помощью которой вы также можете назначить название страницы , и это поможет вам справиться с обработкой хэшей/URL.

Визит pagerjs.com

+1

pagerjs действительно здорово, но не видел активного развития в то время как – Debriter

2

Другой вариант, который только делает маршрутизацию, и пропускает шаблоны и т.д. является Davis.js см http://davisjs.com/. Только зависимость jQuery.

+0

слишком плохо, что он больше не поддерживается ... –

3

Для полноты, подумал я упомянул crossroads.js, который я только пробовал в качестве части Света Сандера Yeoman Knockout Generator.

Выглядит элегантно, но я ценю еще examples. В частности, я не получал никаких результатов поиска для «входа в систему crossroads.js» или «crossroads.js AUTH» :(

Crossroads.js библиотека маршрутизации вдохновленный URL маршрута/Отправка утилиты, присутствующие в таких средах, как Rails, Pyramid, Django, CakePHP, CodeIgniter и т. д. Он анализирует ввод строки и решает, какое действие должно выполняться, сопоставляя строку с несколькими шаблонами.

Это мощная и гибкая маршрутизация Если он используется правильно, он может уменьшить сложность кода путем развязывания объектов, а также путем абстрагирования путей навигации и запросов сервера.