Alıntı
SORU 1
Biraz araştırdım. Neredeyse hiç Türkçe kaynak yok internette. "PushState kullanımı, History.js kullanımı vs. vs." Türk developerler bu olaya neden hala ayak uyduramadı anlamadım. Acaba tercih mi edilmiyor? Bilmediğim bir sakıncaları mı var merak ettim.
pushstate çok yeni bir kavram değil. bu uygulamayı yıllar önce bir sitede gerçekleştirdim. tarayıcı pushstate desteklemiyor ise hash ile yaptırdığımı hatırlıyorum. Tesadüfen konunuzu görünce yazmak istedim. Türkçe kaynak çoğu konuda az olabilir. Güvenilir kaynaklar size fazlasıyla yeticektir. Bireysel olarak da mozilla.org kaynak olarak kullanıyorum.
https://developer.mozilla.org/en-US/...PI/History_API
Alıntı
SORU 2
History.js 'i indirip test ettim. Gayet güzel çalışıyor.
Ancak şöyle bir sorun var.
Kod:
<a href="ornek.com/test.php">Test Sayfası</a>
böyle bir bağlantıya tıkladığımızda jQuery Load ile "text.php" 'i çekip sayfanızda örneğin (body) tagının içine yüklemeniz gerekiyor. Ancak çektiği sayfanın zaten kendine ait html tagı, head tagı, title tagı vs. var. html içine html yüklemiş oluyoruz.
bunun iki farklı çözümü var. ilki php ile yapılacak yöntem. ikincisi javascript ile yapılacak işlemler.
php ile yaptığınız kodlama yapısını bilmediğim için oraya hiç girmeyeceğim.
https://developer.mozilla.org/en-US/...State()_method
argümanlara bakarsanız state object,title,url
head kısmını değiştirmeniz önemsizdir. sadece title değiştirmeniz yeterli. bu değişiklikler tarayıcının adres çubuğunda url adresini ve sekmede yazan yazıyı değiştirecektir.
ornek.com/test.php adresine ajax ile istek yaptınız, cevap olarak html kodlarını aldınız. veri tipi olarak elinizde metin yani string var bunu document object model (dom) dönüştürmeniz lazım. jquery sitesinden aratırsanız
https://api.jquery.com/jquery.parsehtml/ methodunu görebilirsin.
title, body elementlerini araman için
https://api.jquery.com/find/ fonksiyonu bulunuyor. geri kalan işlemleri yapabilirsin.
kolay gelsin