'Firefox' kelimesi ile ilgili yazılar.

AJAX nesnesi yaratmak

AJAX kullanımı için XMLHttpRequest nesnesi yaratmanın bir kaç yolu var. En basitinden:

oHTTP = new ActiveXObject("Msxml2.XMLHTTP");

yeterli görünüyor. Ancak bu şekilde yaptığımızda Firefox için ayrı metod kullanmak gerekecek. O da -Mozilla çekirdeği sağolsun- şu şekilde:

oHTTP = new XMLHttpRequest();

Bunları ayrı ayrı test edip, istemcinin türüne göre kullanılacak nesneyi oluşturmak bazen zahmetli olabilir. Bunun önüne geçmek için şöyle bir yöntem izliyorum...
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  17.07.2006 00:00:00

Eğer istemci bazlı kodlamada JS kullanıyor ama hala e-posta doğrulamak için e-posta alanına girilen değeri parse edip binbir türlü takla atmak gibi üstün bir teknolojiden yararlanıyorsanız belki bu yazı ilginizi çeker. Bildiğiniz ya da yakın zamanda öğreneceğiniz üzere JS` de kullanılan nesnelere "prototype" yaratabiliyorsunuz. Yüzlerce kullanım alanından birisi de şu şekilde:


/**************************************************************************************
StringProtoType()
        IsEmailValid() fonksiyonu tarafından kullanılır.
***************************************************************************************/
String.prototype.isValidEmail = function(){
        return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}

/**************************************************************************************
DOM.IsEmailValid()
        `oE` olarak verilen nesnenin değerinin geçerli bir e-posta adı olup olmadığını döner.
        "String.prototype.isValidEmail" regEx` ini kullanır.
***************************************************************************************/
function IsEmailValid(oE) {
var ev = $(oE);
if (ev.value.isValidEmail()==false) {
alert(`Lütfen geçerli bir e-posta adresi giriniz!`);
ev.focus();
return false;
}
return true;
}

IsEmailValid() fonksiyonunda kullanılan $() fonksiyonu aslında "document.getElementById()" metodunun kısaltması. Bunun anlatımına dair bir şeyleri şuradaki AJAX anlatımında karalamıştım. Eğer bu metodları/fonksiyonları kullanırsanız, işiniz biraz daha kolaylaşabilir.

protoType hakkında daha fazla bilgi için: Mozilla Developer Network

Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

AJAX ile bir form POST etmek, sonra da POST edilen değerleri kullanmak için uzun zamandır bir fonksiyon kullanmaktayım. Şimdiye kadar bir sorun çıkartmadığına göre buraya ekleyebilirim. Kod şu şekilde:


/**************************************************************************************
AJAX.createVals() (12.02.2005 / TM)
        `f` formundaki değerleri XHR nesnesi ile POST edilebilecek formata dönüştürür.
        Eğer formun içinde bir SELECT elemanı varsa, bunun hem değerini hem de TEXT kısmını
        alır ve string olarak geri döner.
***************************************************************************************/
function createVals(f){
        var oF = document.getElementById(f);
        var eL = oF.elements;
        var ts = "";
        var rs = "";
        var vA = new Array();
        for (var lL=0;lL < oF.length;lL++) {
                if((eL[lL].type==`text`) || (eL[lL].type==`hidden`) || (eL[lL].type==`password`) || (eL[lL].type==`textarea`) || (eL[lL].type==`select-one`)) {
                        if ((eL[lL].type==`select-one`)){
                                var c = eL[lL].options[eL[lL].selectedIndex].text;
                                var n = eL[lL].name + "_TEXT";
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                        else{
                                var c = eL[lL].value;
                                var n = eL[lL].name;
                                ts = escape(n)+`=`+escape(c.replace(/%2B/g,"%u002B"));
                                vA.push(ts);
                        }
                }
        }
        if (vA.length>0){
                rs=vA.join("&");
        }
        return rs;
}

Bu fonksiyonu kullanarak XHR nesnenizin POST edeceği değerleri oluşturabilir, daha sonra sunucu tarafındaki dosyanızda da (ASP, ASPX, PHP neyse artık) eski yöntemlerle değerleri alabilirsiniz. Bu fonksiyondaki artı bir şey (açıklamasında da yazdığı gibi) formdaki SELECT elementlerinin TEXT değerlerini de alması ve bunu gönderilecek değerler arasına sıkıştırması. Buna bir iki projede ihtiyaç duymuştum. Nasıl kullanıldığına dair örneği de bir ara eklerim herhalde...
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

AJAX` da Türkçe karakterleri POST ederken bazen sorun oluşabiliyor. Bunun önüne geçmek için ise yapılacak çok basit bir şey var:

Aşağıdaki kodda xO nesnesi bir XMLHTTP nesnesi ise, nesnenin setRequestHeader metodunu kullanarak gönderilen isteğin başlık bilgisine "Ben TR çalışırım arkadaş" dedirtebiliriz. Şöyle ki;


xO.open("POST", url);
xO.setRequestHeader(`Content-type`, `application/x-www-form-urlencoded;charset=iso-8859-9`);
xO.setRequestHeader(`Content-type`, `application/x-www-form-urlencoded;language=tr`);
xO.send(ev);


AJAX ile ilgili bir kaç şey daha eklemeye çalışacağım daha sonra. Şimdilik afiyet olsun.
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  15.07.2006 00:00:00

CSS kaynakları

Toplu halde CSS kaynaklarına ulaşmak için Veerle Pieters güzel bir PDF oluşturmuş. PDF dosyasına ve ilgili yazıya aşağıdaki linkten ulaşabilirsiniz:

CSS Resources
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  02.05.2006 00:00:00

ASP Uzantisi

Bir önceki yazıda, AJAX anlatımına başlarken gerekli olabilecek istemci bazlı yazılıma başlangıç yapmıştım. Şimdi biraz da sunucu tarafına bakalım. Sunucu bazlı yazılım geliştirmede geçmişte çok revaçta olan ASP ile ilgili Response şudur, Request ile şunlar yapılır gibi bir şeyler söyleyeceğim yok. Bunların ne işe yaradığı bilinmiyorsa zaten AJAX ile ilgili bir şeyler yapmaya heveslenmek ve sırf bunun için bu yazıları okumak da gereksiz bir işlem. ASP` yi ilgili kişiye öğretebilecek tonla site var internette. Bunları öğrendikten sonra HTTP protokolünün nasıl çalıştığına dair bir kaç şey vardır insanın aklında. Uzun lafın kısası, ASP dediğimiz sunucu bazlı yazılım platformu; istemciden gelen istekleri değerlendirip, sunucu kaynaklarını akıllı bir şekilde kullanarak, düzgün bir HTML oluşturmaya yarayan bir ortamdır demek sanırım bir çok kişi için anlaşılır olacaktır. Buradaki anahtar kelime olan "düzgün bir HTML" ile demek istediğim W3C standartlarına uygun olarak, basit ve anlaşılır üretilmiş olan koddur. Yoksa, kendisine "web tasarımcısı", "içerik ve tasarım `uzman`ı", "web`i yemiş bitirmiş kişi", "internetin kitabını yazan insan" diyen ama bir basit tablo için 50Kb ya da 60Kb HTML üreten kişilerin kodlarından bahsetmiyorum(ki bununla ilgili örnekleri bir başka yazıda vereceğim).
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  27.04.2006 00:00:00

AJAX - I (javascript)

AJAX üzerine internette bulunmayacak şey yok gibi. Her teknik blogdan bir yazı fışkırıyor, tüm üst düzey web siteleri illa ki bir bölümlerinde bu eski teknolojiden faydalanıyor. İşin teorik kısımlarını bu işin profesyonellerine bırakıp, pratikler ile AJAX` ı örneklemenin zamanı geldi. Internette bulduğum kaynakların çoğu, konuyu PHP ile anlatmış, eski dost ASP` yi biraz arka plana atmış olduğu için belki Türkçe kaynak sıkıntısı olabilir. Üç bölüm halinde yazmayı planladığım yazılarda AJAX` ı nasıl ASP ile kullanabileceğimizi, kendi karşılaştığım problemleri ve bunların çözümlerini sıralamaya çalışacağım.

AJAX ile ilgili bir şeyler yapmak için ilk önce bilinmesi ve anlaşılması gerekenin Javascript ve DOM olduğu konusunda sanırım hemfikiriz. Bu yüzden ilk yazıda sadece Javascript ile bir hazırlık kodu ve fonksiyonu yazacağız, kodlarımızı nasıl kısaltabileceğimiz konusunda kafamızı yoracağız. Yazıda mümkün olduğu kadar Türkçe kullanmaya çalışacağım ama malum, bizim icat ettiğimiz bir şey olmadığı için çoğu ismi orjinal ve en bilinen hali ile kullanmak durumundayım. Örneğin property yerine özellik, object yerine nesne, method yerine metod kullanabilirken maalesef document object model yerine belge nesne modeli demeyeceğim. Script yerine betik kullanırken, genel kabul görmüş textbox yerine yazı kutusu ya da event handler yerine olay yakalayıcısı demeyeceğim. Neyse; başlayalım bakalım!
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  25.04.2006 00:00:00

Bir süredir hazirliklari manhem tarafindan yapilan dolmakalem.org sitesi sonunda beta yayinina basladi. Degisik blog yazarlari tarafindan desteklenen sitenin asil amaci, blog yazarlarinin kendi sitelerinde yaz(a)madiklari yazilari burada ilgiye sunmalari. Sitenin yardim sayfasinda tanim olarak su yer aliyor:

"Her biri kendi uzmanlik alaninda farkli yazilar yazan/düsünen bir gurup yazarin, kendi sitelerinde deginemedikleri konulari yazdiklari bir nevi kaçis yuvasi... Dolmakalem, durusu itibariyle yazarlarina sinirsiz yazma özgürlügü taniyan, fikir ve eser üretme konusunda sinirlari reddeden bir olusumdur. Bu nedenle sitede kategorizasyon sistemi yoktur. Dolmakalem, okuyucularinin görüslerini ve katkilarini önemser, gelen yorumlarin herbirini bir fikir dagarcigi olarak bünyesine katar."

Bu olusum içinde ben de yer aliyorum. Tanimdan anlasilacagi üzere ben de bu siteyi uzun zamandir hayalini kurdugum "teknik" tarafa çekebilecegim. Kendime özel bir blog sitesini de belki yine bu sitenin bir alt domain` inde tutarim. Neyse. Haydi bakalim, hayirli olsun!
Devamı »

Yazı kategorisi günlük  |  mirmirik  |  07.04.2006 00:00:00
Sayfa: 1 2 >|