Dinamik bir web sayfasının URL'sini değiştirmek mümkün mü?

4 Cevap php

Ben sadece bilmek istedim, dinamik bir web sayfasının adres çubuğunda görünen URL'yi değiştirmek için herhangi bir yolu var mı? Gibi, belki web sayfasında iki düğme vardır ve kullanıcı birini tıkladığında zaman (ya da farketmez olmayacak) olacaktır sayfayı yenileyin ve url mysite.com/page1 olacak, ya da kullanıcı ikinci clickes eğer düğmesi, adres çubuğunda görünen url mysite.com/page2 olacak?

Ben sadece bir parçası sonra, etki chaneg gerekmez.

Sadece başka bir sayfaya gitmek istemiyorum, söylemek istedim. Bu tek bir sayfada yapılmalıdır. Bu JS, PHP, ya. Htaccess dosyası üzerinden yapılırsa bu önemli değil, ama sadece bir sayfa ile bunu yapmanız gerekir.

4 Cevap

Değişen dışında .location sadece gerçekten window.location.hash üzerinde kontrole sahip.

window.location.hash = "boo"; http://mysite.com -> http://mysite.com/#boo

Bu URL'yi değiştirirken not yeni bir sayfaya gitmek için only yoludur. Diğer tüm yöntemler sayfayı yenileyin veya yönlendirme sayfası olacaktır:

  1. Değiştiğinde window.location kullanıcı yönlendirir
  2. Değiştiğinde window.location.pathname kullanıcı yönlendirir
  3. Değiştiğinde window.location.search kullanıcı yönlendirir
  4. Değiştiğinde window.location.hash does not kullanıcı yönlendirme

Ayrıca, sadece göreli bir url kullanarak olmayan etki yolu değiştirebilirsiniz:

window.location = "page1"; // include forward-slash if necessary
                           // goes to http://somesite.com/page1

Kesinlikle (ve kolay) hem /page1 ve /page2 aynı sayfayı kapalı hizmet edebilir ve düğmelerin ve diğer sırasıyla gezinmek var - "sayfasını yenileme", dediğiniz gibi de, (yani sunucudan tekrar o kadar yükleme, ya da tarayıcı önbelleği), ve tabii adres çubuğunda görünen buna göre değişir. Ancak, point yapmanın ne görmüyorum.

Oldukça istediğini anlamıyorum.

Her iki durumda, aynı sayfa gösterilmesini istiyorum ama farklı adresler ile mi?

Bu durumda, / LINK1 ve / link2 ikisi için aynı sayfaya yönlendirme ve bağlantıların birine düğmesine işaret etmek. Htaccess dosyası yazabilirsiniz.

Sadece durumda bu soruyu güncellemek için başkalarının gelip.

Bu artık pushState() . There's a couple of libraries (such as History.js) uygun desteği olmadan şu anda farklı tarayıcılar arasında uygulanmasını kolaylaştırmak hedefliyoruz kullanarak javascript ile ele alınabilir. Bu tür kütüphanelerin kullanımı olmadan, basit bir kullanım örneği görmek istiyorsanız Ancak, Hawkee tarihinde aşağıdaki makaleye göz atın çekinmeyin

Dynamically change URLs using Push and Popstate