Ответ 1
Мы работаем над библиотекой, которая выполняет сопоставление маршрутов URL: https://github.com/OpenGamma/RouteMap, если вы все еще ищете.
Со всем негативным нажатием на Twitter и Gawker использование URL-адресов hashbang мне очень сложно найти какие-либо примеры/библиотеки для их фактического использования.
Я хочу использовать URL-адреса хешбанга в каруселе javascript на нашем веб-сайте, чтобы мы могли напрямую ссылаться на конкретную страницу карусели.
Существуют ли какие-либо хорошие библиотеки или примеры кросс-браузера (желательно, не jQuery, поскольку мы используем Prototype) для того, чтобы как нажимать новые URL-адреса на расположение страницы, так и анализировать URL-адрес на загрузке страницы?
Мы работаем над библиотекой, которая выполняет сопоставление маршрутов URL: https://github.com/OpenGamma/RouteMap, если вы все еще ищете.
Sammy.js использует их для создания обработчиков, подобных тем, которые используются в Sinatra.
https://github.com/browserstate/History.js У меня нет опыта с этим, поскольку я использую BBQ JQuery, но похоже, что он должен решить ваши проблемы.
В Google Closure Library есть действительно классная реализация для стека истории браузера. Вы можете получить исходный код истории отсюда.
Чтобы использовать менеджер истории Closure Library, вы должны определить скрытый ввод. Есть трюк. Если вы не укажете поле ввода для класса, оно создаст его для вас, но оно попытается добавить DOM с помощью document.write
из-за поддержки кросс-браузера. Лучший и простой способ - предоставить скрытый ввод.
Вот простая реализация goog.History.
var history = new goog.History(false, '', document.getElementById('historyInput'));
goog.events.listen(history, goog.history.EventType.NAVIGATE, function() {
console.log(history.getToken());
});
history.setEnabled(true);
Затем перейдите к некоторым хэшированным URL-адресам на вашей странице, и вы увидите свой измененный хэш в консоли как журнал.