Tek bir sayfa uygulamasına sahibim - yani sunucudaki her şey, HTML5 geçmişi api (pushstate) kullanarak ağır kaldırma ve yönlendirme yapan tek bir index.html
dosyasına yönlendirilir. en landing.html
diyoruz ve başka hiçbir rotayı erişmek eğer onlar /
eriştiklerinde ilk landing.html
almak müşterilerine istiyor ve index.html
let -Tek bir Sayfada Yönlendirme Farklı bir ana sayfa ile uygulama
Şimdi, yanına yeni bir açılış sayfasını eklemek istiyorum.
Artık IE9, HTML5 geçmişi API'sini desteklemiyor; bu nedenle, /books/authors
gibi "sağlama URL'leri" yollarının kullanılması, /#!/books/authors
haline gelir. Sunucuyla ilgili olarak URL is not sent to the server karma bölümünün tüm yolları /
olduğundan, bu mantık temelinde landing.html
veya index.html
'a yönlendiremem anlamına gelir.
Bir hack düşündüm - yönlendirme URL'leri /
landing.html
için birlikte istemci üzerinde #!
tespit sunucu (veya istemci) bir çerez ekleyerek notReallyHomePage
ve sunucuda cookie temel doğru sayfaya yönlendirme denir . Bu gerçekten hacky ve iyi bir çözüm değil.
Bu durumda yönlendirme ile başa çıkmanın doğru yolu ne olurdu?
Benim arka uç ASP.NET MVC ama o acilis.html'de içeriği nedir sorusuna
Neden ASP.NET MVC tarafından sağlanan yönlendirme özelliklerini kullanmak değil (eğer acilis.html gösterdiğinde belli ki o zaman index.html gizlemek). – Antony
@Antony, çünkü bu tek sayfa uygulamalarının nasıl çalıştığı değil. Yönlendirme, istemci tarafında yapılır - bu nedenle, kullanıcı bir bağlantıyı tıkladığında sunucuya vurmanız gerekmez. Avantajı, çoğu yolun sunucudan JSON'a ihtiyaç duyması (ve işaretlememesinin) ve diğerlerinin ise sunucuya tamamen erişmeyi atlamasıdır. –
Büyük olasılıkla, yönlendirme mantığınız olan bir dizin/kapsayıcı sayfası gibi bir şey isteyebilirsiniz. Bu sayfa seçilen rotaya bağlı olarak kısmi olarak yüklenir. Rotalarınız sunucuya gönderilmediğinden, doğru sayfayı hemen yüklemenin mümkün olduğunu düşünmüyorum. – Cerbrus