Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur

15 Kasım 2010 Pazartesi

Javascript ile window.open ve window.moveTo için 2 küçük fonksiyon


// Enum değerleri taşıyacak nesne
var Enum = new Object();

// Enum.KarakterBoyutu : Pencerenin body nesnesinin karakter büyüklüğünü değiştirmek için kullanacağım Enum.
Enum.KarakterBoyutu = { KUCUK: 10, ORTA: 12, BUYUK: 14 };

// Enum.EkranYeri : Pencerenin ekranın neresinde olacağını belirttiğim Enum
Enum.EkranYeri = { "SOL_UST": 1, "SOL_ORTA": 2, "SOL_ALT": 3, "ORTA_UST": 4, "ORTA_ORTA": 5, "ORTA_ALT": 6, "SAG_UST": 7, "SAG_ORTA": 8, "SAG_ALT": 9 };

// Enum.PencereAcOzellikleri : Yeni açılacak pencerenin varsayılan özelliklerini içeren Enum.
Enum.PencereAcOzellikleri = { width: 400, height: 100, top: 0, left: 0, toolbar: 0, menubar: 0, scrollbars: 0, resizable: 0, location: 0, directories: 0, status: 1 };

/* Basitçe Enum değerlerini değiştirmenin yolu
* Enum.PencereAcOzellikleri['width'] = 66;
* Enum.PencereAcOzellikleri.width = 55;
*/

//(
function f_YeniPencereOzellikleri(_width, _height, _top, _left, _toolbar, _menubar, _scrollbars, _resizable, _location, _directories, _status) {
Enum.PencereAcOzellikleri.width = _width;
Enum.PencereAcOzellikleri.height = _height;
Enum.PencereAcOzellikleri.top = _top;
Enum.PencereAcOzellikleri.left = _left;
Enum.PencereAcOzellikleri.toolbar = _toolbar;
Enum.PencereAcOzellikleri.menubar = _menubar;
Enum.PencereAcOzellikleri.scrollbars = _scrollbars;
Enum.PencereAcOzellikleri.resizable = _resizable;
Enum.PencereAcOzellikleri.location = _location;
Enum.PencereAcOzellikleri.location = _location;
Enum.PencereAcOzellikleri.directories = _directories;
Enum.PencereAcOzellikleri.status = _status;
return Enum.PencereAcOzellikleri;
}
//)

//(
function f_PencereAc(_sUrl, _sWindowName, _enumPencereOzellikleri, _enumEkranYeri) {
_enumPencereOzellikleri = _enumPencereOzellikleri
? _enumPencereOzellikleri
: Enum.PencereAcOzellikleri;

var sOzellikler = "";
for (var ozellik in _enumPencereOzellikleri) {
sOzellikler += ozellik + "=" + _enumPencereOzellikleri[ozellik]+",";
}

// Pencere nesnesinde açılmış pencerenin adını ve referansını taşıyoruz.
var Pencere = {};
Pencere.Adi = _sWindowName ? _sWindowName : 'pencere_' + Math.random(1000);
Pencere.PencereOzellikleri = _enumPencereOzellikleri;
Pencere.Window = window.open(_sUrl, Pencere.Adi, sOzellikler);

if (_enumEkranYeri) {
f_PencereyiTasi(_enumEkranYeri, Pencere);
}
}

function f_PencereyiTasi(_enumEkranYeri, _pencere) {
// Nokta ile pencerenin taşınacağı nihai nokta tutuluyor.
var Nokta = { Top: 0, Left: 0 };
// Ekranın ve pencerenin width ve height bilgilerini hesaplamak için tutalım.
var ekranW = screen.width;
var ekranH = screen.height;

var pencereW = _pencere.PencereOzellikleri.width;
var pencereH = _pencere.PencereOzellikleri.height;

switch (_enumEkranYeri) {
case Enum.EkranYeri.SOL_ALT:
Nokta.Left = 0;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.SOL_ORTA:
Nokta.Left = 0;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.SOL_UST:
Nokta.Left = 0;
Nokta.Top = 0;
break;
case Enum.EkranYeri.ORTA_ALT:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.ORTA_ORTA:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.ORTA_UST:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = 0;
break;
case Enum.EkranYeri.SAG_ALT:
Nokta.Left = ekranW - pencereW;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.SAG_ORTA:
Nokta.Left = ekranW - pencereW;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.SAG_ALT:
Nokta.Left = ekranW - pencereW;
Nokta.Top = ekranH - pencereH;
break;
}
_pencere.Window.moveTo(Nokta.Left, Nokta.Top);
}
//)

/*
Örnek Kullanımı:
<a href="#" onclick="f_PencereAc('resimYukleme.aspx?tur=URUNLER&id=<%=Request["id"] %>', 'UrunResmiYukle', f_YeniPencereOzellikleri(550,150),Enum.EkranYeri.ORTA_ORTA);">Resim Eklemek için Tıklayınız </a>
*/