2011-12-01 11 views

cevap

15

History.js, HTML5 pushState'i yerel olarak desteklemeyen ve pushState uygulamasının farklı tarayıcı uygulamaları arasındaki farkları gideren tarayıcılar için bir çok filtredir.

Davis.js, öncelikle pushState'in üzerinde bir yönlendirme katmanıdır (bu, karma yönlendirme için kolayca değiştirilebilir). Uygulamanızdaki rotaları tanımlamak ve yanıtlamak için size basit bir API sağlar.

Omurganın yönlendiricisi Davis'e benzer, ancak pushState kullanılamıyorsa otomatik olarak karma temelli yönlendirmeye geri dönmeye çalışır.

Davis'in yazarı olarak biraz önyargılıyım ama Davis api'nin omurgadan biraz daha iyi ve daha güçlü olduğunu düşünüyorum. PushState mevcut olmadığında karma temelli yönlendirmeye geri dönme zarafetiyle uğraşmayı denemenin de katılabileceği çaba ve karmaşıklığa değmeyeceğini düşünüyorum.

+0

Açıklama için teşekkürler: D –

+0

I html5 pushState tarayıcısındaki history.js dosyasının, "thorsteinsson/jquery-routes" ve "mstahl/jQuery-Routes" ile çalışabildiğini buldu. (Bu yönlendiriciler çalışmak için URL'de # gerektirir). Yani, ben Davis.js ve Backbone ile çalışacağından emin değilim? – vee

+0

Geri dönüşü # omurgada devre dışı bırakabilirsiniz – Tosh

0

gitmek:

  • davis.js yalnızca HTML5 history.pushState destekler. Onunla çalışmayan tarayıcılar desteklenmez, bu yüzden muhtemelen bir seçenek değildir.
  • Hem omurga hem de history.js, onhashchange için geri dönüşler var.
  • Zaten omurgayı bildiğiniz gibi, MVC ve bunun üzerinde bulunduğu alt çizgi de işlevsel şeyler için ek yardımcılar sağlar.

Bu gerçekten ek bir Backbone işlevine ihtiyacınız olup olmadığına bağlıdır.

+1

Davis.js, bir uzantı yoluyla karma tabanlı yönlendirmeyi destekliyor - https://github.com/olivernn/davis.js/blob/master/lib/extensions/davis.hashRouting.js –