Arkadaşlar merhabalar;

Yapmış olduğum uygulamada ajax kullanarak arkadaki dosyadan veri çekiyorum. Fakat browserda ılerı-geri butonlarının çalışmadığını gördüm.

Bunun için yaptığım araştırmalar sonucunda :

  • jquery'nin hashchange event'lerini buldum burada sayfanın sonuca #page1 gıbı ıfadeler tanımlayarak ileri gerinin çalışmasını sağlıyorum.(Bunu öğrenmek isteyen arkadaşlar şu link1, link2 faydalanabilirler)

Fakat benim istediğim olay ise şöyle sayfanın url'i : deneme.com/ iken deneme.com/toolpage/ yaptığımda sayfanın yenilenmesini istemiyorum toolpage değişkenine göre content divimin içeriğini doldurmak istiyorum. Böyle bir olay için ne önerirsiniz.

Bu konu ile ilgili bulduğum ingilizce kaynakları da inceleyerek yardımcı olabilirsiniz :

link1 Burada kide benim yapmak istediğimle aynı ama sonuç üretemedim.
link2
link3

Yardımlarınızı bekliyorum arkadaşlar ve şimdiden teşekkür ederim.

Sonuç olarak url'in istediğim şekilde değişmesi sağladım. Fakat bu seferde browser eventlerini(ileri geri yenile) yakalamam gerekli bunu nasıl yapabilirim.

url'nin değişmesini sağlayan fonksiyon :

$(function() {
    $("a").click(function() {
        history.pushState({}, '', $(this).attr("href"));
        urlConfig();
        return false;
    });
    urlConfig();
});

soruldu: 14 Haz '14, 11:04

gece_bekcisi's gravatar image

gece_bekcisi
266192228
cevap kabul oranı: 0%

değiştirildi: 14 Haz '14, 13:07


Şu kütüphane tam size göre: History.js

Edit: İstediğiniz olay HTML5 destekleyen tarayıcılarda gerçekleştirilebilir. Verdiğim kütüphane tarayıcının durumuna göre senaryoyu düzenliyor. HTML5 destekleyen tarayıcılarda söylediğiniz şekilde url'e ekleme yapıyor, desteklemeyenlerde ise yeni url eklentisinin başına # işareti getirerek gerçekleştiriyor.

permanent link

cevaplandı: 14 Haz '14, 12:20

mews's gravatar image

mews
5753814
cevap kabul oranı: 20%

değiştirildi: 14 Haz '14, 12:29

Çok teşekkür ederim işe yarar bir kütüphane imiş. Fakat burada anladığım kadarı ile sayfanın sonunda ? işareti ile değişken yolluyor gibi.

Ben bunu url basma işini çözdüm. Fakat bu seferde ileri geri yada yeniden yükle kısımlarının eventlerini yakalamam gerekiyor. ben jquery ile browser eventlerini nasıl yakalayabilirim. Ya da Mod Rewrite ve .htaccess Dosyalarını biliyormusunuz php'de

örnek verecek olursam : deneme.com/index.php?page=About yerine kullanıcıya deneme.com/About/ gözükmesini sağlayan bir yapıdır ve sayfa yenilensede bu yapı sayesinde bir sıkıntı vermıyor.

(14 Haz '14, 13:03) gece_bekcisi gece_bekcisi's gravatar image

Siz routing işlemini gerçekleştirdikten sonra verdiğim kütüphane ile yönlendirmeleri kullandığınız yapıya göre gerçekleştirmeniz gerekmektedir. Yukarıda verdiğiniz örnekteki gibi deneme.com/index.php?page=About sayfasının yönlendirme karşılığı deneme.com/About ise ? işareti kullanmadan da aynı sayfa döneceği için aynı durum söz konusu.

History.pushState({state:1}, "About", "?page=About"); yerine History.pushState({state:1}, "About", "/About"); şeklinde kullanabilirsiniz.

(14 Haz '14, 13:19) mews mews's gravatar image

Çok teşekkür ederim :) süpersiniz. Gözümden kaçmış.

(14 Haz '14, 13:31) gece_bekcisi gece_bekcisi's gravatar image

Estf. kolay gelsin :)

(14 Haz '14, 13:33) mews mews's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×137
×92
×1

Soruldu: 14 Haz '14, 11:04

Görüntüleme: 846 kez

Son güncelleme: 14 Haz '14, 13:37

powered by BitNami OSQA