¿Hay alguna biblioteca de JavaScript para trabajar con direcciones hashbang/shebang(#!)?
url fragment-identifier (4)
Con toda la prensa negativa sobre Twitter y el uso de las URL de hashbang por parte de Gawker, me está resultando muy difícil encontrar ejemplos / bibliotecas sobre cómo usarlos realmente.
Me gustaría usar las URL de hashbang en un carrusel de JavaScript en nuestro sitio web para que podamos vincular directamente a una página específica del carrusel.
¿Existen buenas bibliotecas o ejemplos de navegadores cruzados (preferiblemente no jQuery, ya que usamos Prototype) tanto para empujar las nuevas URL a la ubicación de la página como para analizar la URL en la carga de la página?
Sammy.js los usa para crear manejadores como los que se usan en Sinatra .
Hemos estado trabajando en una biblioteca que realiza la asignación de rutas de URL: https://github.com/OpenGamma/RouteMap si aún está buscando una.
Google Closure Library tiene una implementación genial para la pila del historial del navegador. Puede acceder al código fuente del historial desde aquí .
Para usar el administrador de historial de la biblioteca Closure, debe definir una entrada oculta. Ahí está el truco. Si no le da un campo de entrada a la clase, creará uno para usted, pero intentará agregarlo DOM con document.write
debido al soporte del navegador cruzado. La mejor y más fácil manera es proporcionar una entrada oculta.
Aquí hay una implementación simple de 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);
Luego navegue a algunas direcciones hash en su página y debería ver su hash modificado en su consola como registro.
https://github.com/browserstate/History.js No tengo ninguna experiencia con él ya que uso BBQ Jquery, pero parece que debería resolver sus problemas.