|
|
|
Yazan
|
Konu: Firexfoxta window.onload olayı (Okunma Sayısı 663 defa)
|
phparmy
phparmy
PHP Stajyeri

Offline
Mesaj Sayısı: 372
Elektronik imzam.
|
Kullandığım bir tabmenu var. Firexfox 2.0.0.10 ve ie6 ta düzgün çalışyor. Menu window.onload olayı ile yükleniyor. IE6 da başka bir uygulama için de, yani bu işlemden sonra başka window.onload işlemi yaptıktan sonra menü bozulmuyor düzgün çalışyor. Firefoxta iklinci bir window.onload olayı yaptığınızda en son yapılan window.onload olayı çalışyor dolayısıyla menü bozuluyor.
Fikri olan varmı.
|
|
|
|
|
Logged
|
|
|
|
zombie
Global Moderatör
Offline
Mesaj Sayısı: 940
|
<html> <head> <script> function f1() { alert("f1"); f2(); } function f2() { alert("f2"); } </script> </head> <body onload="javascript:f1();"> </body> </html> böyle de olabilir.
|
|
|
|
|
Logged
|
|
|
|
phparmy
phparmy
PHP Stajyeri

Offline
Mesaj Sayısı: 372
Elektronik imzam.
|
<html> <head> <script> function f1() { alert("f1"); f2(); } function f2() { alert("f2"); } </script> </head> <body> </body> </html>
Bende hangisi doğru işlem yapıyor karar veremedim. Şimdi ilk önce window.onload=f1(); daha sonra başka bi yerde window.onload=f2(); diyorum IE6 ta bu işlemi yaptığımda f1(); düzgün çalışıyor. Firefox 2.0.0.10 da bu işlemi yaptığımda f1(); çalışmıyor ama window.onload=f1(); window.onload=f2(); tekrar window.onload=f1(); yaptığımda f1(); de f2(); düzgün çalışyor. Burdaki f1() ve f2() içeriğinden bahsetmiyorum burdakiler muhtemelen doğru çalışır. Benim fonksiyonlarda bi problem olabilir.
|
|
|
|
|
Logged
|
|
|
|
|
obareey
|
window.onload=f1; şeklinde yapmalısın. window.onload=f1(); yaparsan fonksiyonu çalıştırır. yukarıdaki gibi yaparsan onload olayında f1 fonksiyonunu tetikler. kolay gelsin...
|
|
|
|
|
Logged
|
|
|
|
samety
Ziyaretçi
|
window.onload=f1; şeklinde yapmalısın. window.onload=f1(); yaparsan fonksiyonu çalıştırır. yukarıdaki gibi yaparsan onload olayında f1 fonksiyonunu tetikler. kolay gelsin...
obareey bunu anlatırmısın tetiklemek ve çalışmak arasındaki ince noktayı anlatırmısın anlayamadım ben :S 
|
|
|
|
|
Logged
|
|
|
|
|
obareey
|
örneğin; <script> function f1(){ ... } window.onload=f1(); // bu satır :) </script> bu şekilde yazarsan f1 fonksiyonu sayfa yüklendiğinde değil de bu satıra ulaştığında çağırılacaktır. ancak parantezleri kaldırırsan sayfa yükleme olayı gerçekleştiğinde çalışacaktır. istersen başka bir örnek verelim. diyelim ki: <script> function f1(){ ... } document.onclick=f1(); // bu satır :) </script> bu şekilde bir kod yazdın ve sayfaya her tıklandığında bir fonksiyon çağrılmasını istiyorsun. ancak () yazarsan fonksiyon bu satıra geldiğinde çalışacak, bir daha - başka bir yerde çağırmıyorsan - çalışmayacaktır. oysa ki js'de her şey, fonksiyonlar dahil nesnedir ve document.onclick=f1; yazdığında document nesnesinin onclick olayı ile f1 nesnesini (ya da fonksiyonunu) ilişkilendirmiş oluyorsun ve sayfaya her tıkladığında bu fonksiyon çağırılıyor... her şey nesne olduğundan şu şekilde de fonksiyon tanımlayabiliyorsun... var f1 = function () { .... } ki zaten js'de nesne yönelimli (kullanıcı kodu için) bir kodlama yapıyorsan bu şekilde fonksiyon yaratman gerekiyor örneğin. umarım yardımcı olabilmişimdir. iyi çalışmalar...
|
|
|
|
|
Logged
|
|
|
|
|
BotanGuner
|
Selam, Şöylede kullanabilirsin; <script type="text/javascript"> var isNetscape=(navigator.appName=="Netscape")?true:false; var f = function() { alert(navigator); } if(isNetscape) {//mozilla, firefox, netscape window.addEventListener('load',f,false); } else { window.attachEvent("onload",f); } </script>
tabi burda browser diğer burada diğer tarayıcılar içinde kontrol yapıp ona göre kod eklemek lazım.
|
|
|
|
« Son Düzenleme: 03, 2007, 11:04:01 am Gönderen: BotanGuner »
|
Logged
|
|
|
|
samety
Ziyaretçi
|
if(isNetscape) {//mozilla, firefox, netscape window.addEventListener('load',f,false); } else { window.attachEvent("onload",f); }
bu şekil ayrımları nerden bulabilirm yani ie de attachEvent böyle iken digerlerinde addEventListener böyle mesela böyle bir çok kod var bu ayrımları nasıl bulabilirm ? yardımcı olabilir misiniz ? mesela elimde event stayTopLeft bu var sonra window.event.srcElement bu var bunlar ie den başka yerde çalışmıyor nasıl ve nerden bulabilirim bunları kusura bakmayın google de de olsa aratmadım çünkü hangi keyleri kullanmak gerketiğini bilmiyorum yada şuanki kafayla bilmiyorum.
|
|
|
|
|
Logged
|
|
|
|
|
BotanGuner
|
Selam, IE için http://msdn.microsoft.com bakabilirsin Library > Web Development altında ie ile ilgili her türlü bilgiyi bulabilirsin, Mozilla için ise http://developer.mozilla.org sitesine bakabilirsin hatta mozilla'nın sitesinde ie ile mozilla js geliştirmesi entegrasyonu ile ilgili bölümler de var. Kolay gelsin...
|
|
|
|
|
Logged
|
|
|
|
|
 |
|