Ben bir AJAX derin bağlantılı site inşa ediyorum.
Kullanıcı bir javascript olmayan desteklenen tarayıcı ile ya da bir arama paletli ise siteye erişmeye çalışıyor eğer ben PHP sayfanın tüm HTML kodunu yüklemek istiyorum. Temelde PHP tüm sayfayı dönecektir.
Kullanıcı javascript desteklenen bir tarayıcı ile siteye erişmeye çalıştığında aksine, ben PHP sadece şablonu kodu döndürebilir ve javascript (AJAX) kalanı dikkat atalım istiyorum. Temelde PHP sadece tasarım öğeleri yüklemek ve JavaScript içerik ile doldurmak izin verir.
Ben ancak böyle güvenilir bir aracı değil gibi görünüyor, PHP'nin get_browser()
fonksiyonuna içine baktı. Javascript desteklediğinden veya PHP kullanarak bir arama paletli ise sektörün uygulama ne göremiyorum?
Background: em>
Ben site bu davranışı istiyorum Neden.
Ben ana sayfa sadece adresini yükleyerek yüklemek istediğiniz Süresi: example.com
, PHP herhangi bir sorgu göndermek değil, PHP ana sayfanın HTML kodunu döndürür. Bu ancak kullanıcı aşağıdaki sayfayı yüklemeye çalıştığında sorunları neden olur: example.com#foo
. Yani, bu örneğin, PHP ana sayfa dönecek ve ana sayfa yüklendikten sonra bu #foo
için uygun içerik gösteriyor ki, javascipt (AJAX) etrafında içeriği değişecektir. Bu nedenle yükleme süresi yavaş olacak ve kullanıcı deneyimi bu kadar güzel olmayacak, kullanıcı giriş sayfasını görmek için yapacaktır. Ancak benim PHP komut dosyası javascipt desteklenen bir tarayıcı ile kullanım sayfayı yüklemeye çalışıyor ise, sadece hiçbir içeriğe sahip web sitesi, şablon dönecektir) ve javascript ne olursa olsun içeriği ile bu şablonu doldurmak olacağını anlamaya eğer # foo için görüntülenecek gerekiyordu. Öte yandan, javascipt olmayan sepported tarayıcısı veya bir paletli eğer sayfasını example.com#foo
, ana sayfa iade edilecektir erişmeye çalışacaktır.
Ben derin bağlantı SwfAddress (http://www.asual.com/swfaddress/) kitaplığı kullanıyorum.
Şimdiden teşekkür ederim.
Edit
Teşekkürler çocuklar. I <noscript></noscript>
önce kullandığınız düşünmüyordu.
İşte ben yapmaya karar budur. Varsayılan PHP gibi example.com
veya example.com#foo
(aslında tanımı gereği fragmanlar beri bakış PHP'nin noktasından example.com
olarak aynı olduğu gibi sayfaları yük gönderilmez sunucu) ana sayfanın içeriği içeri <noscript>
etiketi ile boş (sadece görsel şablon). Javascript ile bu şekilde kullanıcıların giriş sayfasını görmezsiniz ve AJAX #foo
fragmana göre sayfanın içeriğini doldurmak olacaktır. Öte yandan, javascript olmadan arama tarayıcıları ve kullanıcıların bir ana sayfasını göreceksiniz.
Tekrar teşekkür ederim. Ben bu oldukça basit ve zarif bir çözüm olduğunu düşünüyorum. Eğer başka önerileriniz varsa, bir yorum ya da başka bir cevap gönderin.