2010-10-07 24 views
9

Çalıştığım basit bir php web sitesi var ve php sayfalarına nasıl davrantığını anlamaya çalışıyorum. Bazı php belgelerim yönlendirme mantığıdır ve bazıları sadece tek tek sayfalar içerir. Bu işi çevrimdışı yapmak için nasıl giderim?html5 php ile sürülen sitelerle çevrimdışı önbellekleme

Yine de javascript'te yönlendirme mantığını yeniden oluşturmak zorunda kalmam gerekti. Tek seçeneğim bu mu? Bu durumda, sitenin çevrimiçi iken php tarafından yönlendirilmesi ve JS'ye çevrim dışı olması mümkün mü? Anlayamıyorum.

cevap

5

Siteniz oldukça statikse, HTML5'in önbellek bildirimi sizi bu yoldan en iyi şekilde alabilir. PHP'nin tüm yönlendirme sisteminizin URL'leri ile doğru biçimde bir cache.manifest dosyası çıkarmasını ve bu URL'lerin yerel olarak uyumlu bir tarayıcıda depolanmasını sağlayın. Bunlara erişmeye çalışmak mümkünse bunları önbellekten çekecektir.

Daha dinamik bir şey arıyorsanız, daha fazla ayak işi yapmak zorunda kalacaksınız.

Here's some good info on offline caching.

2

PHP'nin sunucuda işlendiğini unutmamak önemlidir. PHP kodunuzun sonucu tarayıcınıza gönderilir. Tarayıcınız, PHP'nin sayfayı yapmak için bile kullanıldığına dair kesinlikle bilgisi yok!

Çevrimdışı çalışması gereken dinamik bir kodunuz varsa, Javascript kullanmalısınız. Bu sadece kendi makinenizde test yapmak için kullanılıyorsa, dev makinenize PHP çalıştıran bir web sunucusu yerleştirin ve http://localhost aracılığıyla gönderin.

+0

Bildiri önbelleği .php dosyaları olabilir mi? Gerçek PHP'yi içeren ve sadece html içeren ancak bir .php uzantısına sahip olan .php dosyalarına sahip olduğumu varsayalım. –

+3

Dosya adı uzantısında dosya türü ile ilgili ** hiçbir şey ** yoktur. Dosya türü, içerik türü HTTP başlığı tarafından belirlenir. – Brad

1

HTML5 çevrimdışı önbellek sayfalarınızı etkileşimli hale getirmek için işe yaramaz; Sadece belirli bir sayfanın çevrimdışı olarak kullanılabilmesi için çalışır. Temel olarak, URL-URL temelinde çalışır. Çevrimdışı işlevselliğe kesinlikle ihtiyacınız varsa, bunu JS'de çalıştırmanız için zorlanacaksınız. Ayrıca, bildiriminizin tüm sayfalarda kullanılan tüm kaynakları içerdiğinden emin olun.

Bu yardımcı olur umarız!

0

O tarayıcınızda önbelleğe ederken herhangi bir sunucu tarafı komut dosyası dili dosyası kullanmamaya bariz görünüyor. PHP/JSP/ASP vb. Hepsi sunucu tarafi dilidir ve istemci tarafindan iletilen istegini dinamik olarak olusturulmasini saglayacagiz ve en önemlisi istemci tarafinda çalisan bir sunucu yoktur. Öyleyse, böyle şeyler yapmak istediğimizde JS'ye gitmeliyiz.