v2.5.2
Giriş yap

Farklı sayfalarda farklı javaScript kodları çalıştırmak

ozermert26
657 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba arkadaşlar. Nasıl yapmamın en doğru olacağını bilemediğim bir soru ile karşınızdayım. Ben javaScript ve php kullanarak web siteleri oluşturan biriyim. Fakat artık javaScript kodlarımı tamamen dosyalarda tutmaya karar verdim çünkü html içinde script kullanmaktan sıkıldım, bıktım. Fakat bu sefer de şöyle bir durum oluşuyor. Örneğin üyelik sayfasına özel bir uyelik.js dosyasını ben gidip de ana sayfaya include edemem. Zaten sitem dinamik olduğu için de böyle bir şey yapmak istemem. Fakat bu dediğimi nasıl yapabileceğimi bilmiyorum. Yani php ile get'ten gelen sayfa değerini kontrol edip ona göre include etme işlemini yapayım diyorum ama her şeyi head bölümünde ya da body bölümünün altında yapmak zorunda olduğum için fazla kod oluşacak. Javascript tarafında window.location.href değrini alıp ona göre kodları yazayım diyorum fakat bunun da doğruluğundan şüphe ediyorum. Sizce farklı sayfalarda farklı javaScript dosyalarını kullanmak için ne yapmam en doğru tercih olur? Teşekkürler.

Cevap yaz
Cevaplar (7)
hakankorkz
1189 gün önce

@0kan87 hocam doğrusunu elbette siz de bilirsiniz de hani bu dediğiniz yapıda işlem yapmak biraz karmaşıklığa sebep olmaz mı her işlemi tek bir dosyada tutmak ve oradan arayıp bulmak daha pratik değil mi?

ozermert26
1189 gün önce

@0kan87 Dediğin maalesef çok kullanışlı değil. Bunu yapabilirim ama kullanışlı değil. Bunun için birkaç yerde php get yapısını kullanmam gerekir.

0kan87
1189 gün önce

Üyelik sayfasına uye.js atıyorum iletişim sayfasına iletisim.js olarak ayrı dosyalara yazıp ilgili sayfalara çağırsanız kullanışlı olmaz mı?

ozermert26
1190 gün önce

Kodlarınız kullanım için uygun görünüyor. Çok teşekkür ederim.

hakankorkz
1191 gün önce

hocam ben window.location.href kullanıyorum bu işlem için uzun zamandır ve hiçbir sıkıntı yaşamadım projelerimde gönül rahatlığı ile kullanınız aşağı da örnek kod yapımı da bırakıyorum...

    
     const pathname = window.location.pathname.substr(1);

    if (pathname == "panel/yetkililer" || pathname == "panel/bloglar") { // Datatables
        $("#example1").DataTable({
            "responsive": true, "lengthChange": false, "autoWidth": false
        });

    }
    
    // bu kod yapısını incelerseniz istediğiniz sonuca ulaşırsınız..
    
hakankorkz
1191 gün önce

hocam ben window.location.href kullanıyorum bu işlem için uzun zamandır ve hiçbir sıkıntı yaşamadım projelerimde gönül rahatlığı ile kullanınız aşağı da örnek kod yapımı da bırakıyorum...

    
     const pathname = window.location.pathname.substr(1);

    if (pathname == "panel/yetkililer" || pathname == "panel/bloglar") { // Datatables
        $("#example1").DataTable({
            "responsive": true, "lengthChange": false, "autoWidth": false
        });

    }
    
    // bu kod yapısını incelerseniz istediğiniz sonuca ulaşırsınız..
    
house2k
1191 gün önce

Anladığım kadarıyla böyle bir şey istiyorsunuz.

<script>
/*
Adres : http://www.deneme.com/detay.aspx?sayfa=üyelik
Get'den gelen değeri alıyoruz
*/
var vars = [], hash;
            var q = document.URL.split('?')[1];
            if(q != undefined){
                q = q.split('&');
                for(var i = 0; i < q.length; i++){
                    hash = q[i].split('=');
                    vars.push(hash[1]);
                    vars[hash[0]] = hash[1];
                    var sayfa = vars['sayfa'];
                }
            }

// Değeleri if ile kontrol ediyoruz eğerki get değeri üyelik ise üyelik.js dosyasını çalıştırır değilse çalıştırmaz.
if(sayfa == "uyelik"){
  var bolum = document.createElement("script");
  bolum.src = "uyelik.js";
  document.head.appendChild(bolum);	
}
</script>