Zoque.Forum
»
Ajax ile Birden Fazla Include
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 06.12.2005
Yer: KOCAELI
Mesaj: 39
|
Ajax ile Birden Fazla Include
Ayn sayfa içerisinde birden fazla div alanı içerisine farklı sayfaları include etmek istiyorum. Bir tanesini edebiliyorum ama birden fazla etmek için daha iyi bilmem lazım ajax'ı fakat onu bilmiyorum. Zaten bu sitedeki kodlardan yararlanarak yapmıştım ilk aşamayı , fakat şu an takıldım birden fazla sayfayı include edemiyorum.
Şimdi İndex sayfasına ,alt kategorilerde bulunan 1.PHP, 2.PHP , 3.PHP gibi sayfaları include etmek istiyorum. ajax ile body onload seçeneği ile bunu gerçekleştirebiliyorum. Bir div alanı na bu sayfaları şu kodlarla çağırıyorum. Kod:
<script type="text/JavaScript"> var page = "tipster/tip_bekliyor.PHP"; // Çağırılacak sayfayı bu bölümde belirtiyoruz. function ajax(url,target) { // native XMLHttpRequest object document.getElementById(target).innerHTML = 'Yükleniyor...'; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = function() {ajaxDone(target);}; req.open("GET", url, true); req.send(null); // IE/Windows ActiveX version } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = function() {ajaxDone(target);}; req.open("GET", url, true); req.send(); } } }function ajaxDone(target) { // only if req is "loaded" if (req.readyState == 4) { // only if "OK" if (req.status == 200 || req.status == 304) { results = req.responseText; document.getElementById(target).innerHTML = results; } else { document.getElementById(target).innerHTML="ajax error:\n" + req.statusText; } } } </script> Kod:
<body onLoad="ajax(page,'sag_blok');">
Kod:
var page = "tipster/tip_bekliyor.PHP"; // Çağırılacak sayfayı bu bölümde belirtiyoruz.
|
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 06.12.2005
Yer: KOCAELI
Mesaj: 39
|
Re: Ajax ile Birden Fazla Include
Kod:
function sayfalari_yukle()
{
ajax('fikstur/lig22.PHP','mac_bilgileri');
ajax('puan_include.PHP','puan_include');
}
Kod:
<body onLoad="sayfalari_yukle();"> |
|
|
|
|
|
#4 (permalink) |
|
Re: Ajax ile Birden Fazla Include
ajax include temmuzss'un da belirttiği gibi arama motorları tarafından anlaşılabilen bir yöntem değil. Çünkü arama motorları JavaScript iafadelerini değerlendirmiyorlar. Şu anki gidişata göre ileride en azındaın bu tarz ajax çağrılarını da araştırmaya başlayacaklar ancak o zamana kadar alternatif yöntemler geliştirmelisiniz.
Benim aklıma gelen ve kullandığım yöntem sayfadaki tüm linkleri sadece içeriğin olduğu sayfalara verip(HTML, body vs. etiketleri içermeyen sayfalar) sonra sayfa yüklendiğinde bir döngü ile sayfadaki tüm linklerin onclick olaylarına bu linklerin gösterdiği adresi ajax'la yükleyip "false" dönen bir fonksiyon bağlamaktı. Bu sayede hem arama motorları standart HTML kodlarından sayfanızın tüm içeriğine ulaşabiliyorlar hem de siz sayfanızda ajax ile yükleme yapmış oluyorsunuz. |
|
|
|
|
|
|
#5 (permalink) | |
|
Üyelik Tarihi: 06.12.2005
Yer: KOCAELI
Mesaj: 39
|
Re: Ajax ile Birden Fazla Include
Alıntı:
|
|
|
|
|
|
|
#6 (permalink) |
|
Re: Ajax ile Birden Fazla Include
Tekrar merhaba,
Bahsettiğim yöntem şu şekilde: Bu örnek kodda puan.PHP'nin sadece ve sadece yüklenecek sayfa içeriğini tuttuğunu, kesinlikle HTML, head, body gibi ayrı bir sayafaya ait olması gereken etikeletleri içermediğini varsayıyorum(öyle de olması gerekiyor )Eğer sıkıntınız ajax yükletmesindeyse benim yazdığım ajax kütüphanesindeki işlevleri kullanabilirsiniz belki de. http://amplio-vita.net/JSLib/documentation adresinde soldan aV.main.ajax.js dodyasını seçerseniz sağ tarafta fonksiyonlar ve açıklamaları çıkacak. Sizin işinize yarayacak fonksiyon ajax.loadContent fonksiyonu. İlgili kütüphaneye http://amplio-vita.net/JSLib/js/aV.main.ajax.js ya da http://amplio-vita.net/JSLib/js_comp/aV.main.ajax.js adreslerinden ulaşabilirsiniz. Dökümantasyon internette daha geniş bir kitleyi hedef aldığından dolayı İngilizce, sorun olursa yardımcı olmaya çalışırım ![]() |
|
|
|
|
Zoque'a hoşgeldiniz!