Sayfa Yenilenmeden Link Yapısını Değiştirmek (history.pushState)

Modern tarayıcılarda çalışan HTML5’in güzel nimetlerinden olan history.pushState metodu ile, sayfa yenilenmeden link yapımızı dinamik olarak değiştirebileceğiz.. Ve ajax’ın da işin içine girmesi ile baştan aşağı dinamik ve hiç yenilenmeden içerik ve linklerin değiştiği bir site hazırlayacağız.. Yararlı olması dileğiyle..

Düzelme Videosu

Ders bittikten sonra bir hatayı farkettim, ve hemen bir düzeltme videosu hazırladım.. Ben kaynak dosyaları bu şekilde güncelledim, eğer bundan önce indirenleriniz var ise, tekrar indirmeleri rica olunur 🙂

Html5 Notification (Bildirim) Özelliği

Bu dersimde henüz bir taslak olmasına rağmen işe yarayan html5 nimetlerinden olan notifications özelliğinden bahsetmek istiyorum. Yararlı olması dileğiyle..Bu dersimde henüz bir taslak olmasına rağmen işe yarayan html5 nimetlerinden olan notifications özelliğinden bahsetmek istiyorum. Yararlı olması dileğiyle..

Kullanıcıdan İzin Almak

Bildirimlerin gözükmesi için kullanıcıdan izin alınması gerekir.. İzin almak içinse aşağıdaki işlemler yapılmalıdır;

if ( window.webkitNotifications.checkPermission() == 1 ){
	window.webkitNotifications.requestPermission();
} else {
	alert('Zaten bu site için işlem yapılmış');
}

checkPermission => izin kontrolüdür. Değeri 1 ise izin istenme işlemi yapılmamış, 0 ise yapılmış anlamındadır.
requestPermission => izin isteme metodudur.

Bildirimin Gözükmesi

Bildirimin kullanıcıya gözükmesi için aşağıdaki şekilde işlem yapılmalıdır;

var test = window.webkitNotifications.createNotification(
	'http://www.gravatar.com/avatar/be2da7976e64ff4211a4ff7b22b10b58',
	'Tayfun Erbilen',
	'Bu bir test içeriğidir..'
);
test.show();

createNotification => bildirim oluşturmak için gerekli metottur. 3 parametre alır bunlar sırasıyla resim, başlık ve açıklamadır.

Bildirim Göründü ve Kapatıldı Fonksiyonları

Bunun için aşağıdaki kodları kullanmanız yeterlidir;

test.ondisplay = function(){
	alert('bildirim göründü');
}
test.onclose = function(){
	alert('bildirim kapatıldı!');
}

Burada test değişkeni bir yukarıda oluşturulan bildirimi temsil etmektedir.