'Mozilla' kelimesi ile ilgili yazılar.

Yeni siteyi tasarlarken ana navigasyonu(üstte görülen) tek resim ile yaptım. Bu yeni navigasyonu oluşturan tek resim aşağıda görülmekte:

mirmirik.net

Bunu oluştururken "CSS Navigation Matrix" adı verilen bir yöntemden yararlandım. Buna göre her bir menü seçeneği için sadece arka plan resminin pozisyonu değiştirilerek, eskiden javascript ile yapılan "mouseover" ile resim değiştirme durumu görsel olarak sağlanıyor. Navigasyonu istediğim şekilde oluşturmak için şu şekilde bir XHTML bloğu yazdım:


<div id="navigation">
<ul id="nav">
<li id="home"><a id="A1" accesskey="b" runat="server" title="mirmirik.net.blogs();"
href="~/">başlangıç</a></li>
<li id="yaz"><a id="A2" accesskey="i" runat="server" title="mirmirik.net.software();"
href="~/content.aspx?l=12">yazılım</a></li>
<li id="siy"><a id="A3" accesskey="o" runat="server" title="mirmirik.net.politics();"
href="~/content.aspx?l=13">siyaset</a></li>
<li id="gun"><a id="A4" accesskey="a" runat="server" title="mirmirik.net.diary();"
href="~/content.aspx?l=11">günlük</a></li>
<li id="hak"><a id="A8" accesskey="a" runat="server" title="mirmirik.net.about();"
href="~/rights/">hakkında</a></li>
</ul>
</div>

Devamı »

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

Microsoft ile "bedava" kelimelerinin yanyana duruşu bile, insanı rahatsız ediyor sanki değil mi? Şimdiye kadar bize anlatılanlar (tamam, bu anlatanların çoğu, "Linux camiasının yılmaz savaşçıları" olsa bile), Microsoft` a karşı bir antipati oluşturuyordu. Emperyalist Amerika` nın milletleri ezerek sahip olduğu kapitalden en büyük kârı alan şirketin MS olduğu gerçeği ile "tatlı su komünistleri"ni, MS-Encarta` da Türkiye` nin bir kısmının "Kürdistan" olarak gösterildiği gerçeği ile de "tatlı su milliyetçileri"ni hedef alan; ya da henüz "recursion fonksiyon" bile yazamayan genç dimağları "açık kodunu vermiyor oğlum Microsoft. Ama Linux öyle değil, her istediğini istediğin gibi değiştirebilirsin" diyerek kışkırtmayı başaran bir kısım anti-Microsoft takıntılılarını hafife almak olmaz.

Yazıya başlarken asıl olarak Microsoft` un neden bedava yazılım üret(e)mediğine dair bir iki fikrimi söyleyecek, sonrasında da "Expression" serisinden yine "bedava" olarak dağıtımına başladığı grafik ürünlerine ait bilgi girişinde bulunacaktım. Ancak ilk paragrafı yazınca bu fikrim de değişti. Özellikle Türkiye` de süren garip savaşı hatırladım. Tabi ki biz Türkler için (aslında AB ve RTE/AKP normlarına göre Türkiye vatandaşları demem lazım) bu süregiden savaş, Hülya Avşar` ın yeni sevgilisinden ya da Seda Sayan` ın türban bile takıp TV` de boy gösterdiği şaklabanlıklarından daha önemli olduğundan, hemen herkesin dikkatini çekmiştir(araya sosyal mesaj sokup dikkat çekme çabası!).
Devamı »

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

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

Web standartları

Web standarlarının neden gerekli olduğuna dair anlatımı basit, detaylı bir site:
Making A Commercial Case for Adopting Web Standards
Devamı »

Yazı kategorisi Internet/Teknoloji  |  mirmirik  |  09.06.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
Sayfa: 1 2 >|