Ana Sayfa | English Blog | Seminer TV | Dil Cookie Sil  Blog'u Mail ile takip et!  
Daron Yöndem - IE8'de Offline ve Online Çalışma Modları
bir yazılımcının tasarıları...
 Sunday, January 04, 2009

Özellikle RIA uygulamalarındaki en büyük sorunlardan biri anlık internet bağlantısı kesintilerinde sayfanın bir daha geri ulaşılamayacak şekilde ekrandan kaybolması veya farklı hataların ortaya çıkarak geri dönüşü imkansız hale getirmesidir. Bu hoş olmayan durumu artık Internet Explorer 8.0 ile beraber çözebiliyoruz. IE 8.0 içerisinde navigtor.offline nesnesi ile istemci tarafında internet bağlantısının o an için olup olmadığı kontrol edebildiğimiz gibi internet bağlantısı ile ilgili değişiklikleri algılayacak event-handler tanımlamaları da yapabiliyoruz. Bu kolaylıklar ile artık AJAX veya Silverlight uygulamalarının istemci tarafındaki kesintileri algılayarak uygun bir şekilde kullanıcıyı uyarmaları mümkün. Hatta belki de internet bağlantısının koptuğunu algılayan uygulama veriyi DOMStorage'a saklayıp bir sonraki çalıştığında sunucuya gönderebilir. Minik bir örnek ile bu işlemleri nasıl yapabileceğimize göz atalım.

[HTML]

<body ononline="VarMi();" onoffline="VarMi();">

  <form id="form1" runat="server">

    <asp:ScriptManager ID="ScriptManager1" runat="server">

    </asp:ScriptManager>

    <div id="icerik">

 

    </div>

    <input onclick="VarMi();" id="Button1" type="button" value="button" />

  </form>

</body>

Yukarıdaki HTML kodu içerisinde özellikle koyu yazılı noktalara dikkat etmemiz gerekiyor. Birazdan yazacağımız VarMi adındaki JavaScript fonksiyonumuz istemcide internet bağlantısı olup olmadığını kontrol edecek. Fakat hangi durumlarda bu kontrolü yapacağız? İlk olarak söz konusu fonksiyonumuzu sayfamızda bir düğmeye bağladık. Böylece istediğimiz zaman tıklayarak internet bağlantısı olup olmadığını öğrenebiliriz. Diğer yandan istemcide internet bağlantısı koptuğunda veya internet bağlantısı geldiğinde de VarMi fonksiyonumuzun çalışarak gerekli değişiklikleri yapmasını istiyoruz. O nedenle body’nin ononline ve onoffline özelliklerine de söz konusu fonksiyonumuzun adını yazıyoruz. Böylece online durumunda yani internet bağlantısı geldiğinde veya onoffline durumunda yani internet bağlantısı kesildiğinde de anında VarMi fonksiyonumuz çalıştırılacak. Gelelim şimdi de VarMi fonksiyonumuzu yazmaya.

[JScript]

function VarMi() {

    if (window.navigator.onLine) {

        $get("icerik").innerHTML = "İnternet Var";

    }

    else {

        $get("icerik").innerHTML = "İnternet YOK";

    };

}

Aslında kod çok basit. navigator.onLine metodu bize geriye bir Boolean değeri döndürüyor. Eğer tarayıcıda o an internet bağlantısı varsa sayfadaki bir DIV içerisine uygun uyarı mesajını yazıyoruz. Aynı şekilde eğer bağlantı yoksa bu sefer de farklı bir uyarı mesajı yazıyoruz. Siz örneklerinizde bu durumlara göre farklı işlemler yapabilirsiniz. Böylece hazırladığınız web sitesi yeri geldiğinde belki bazı işlemleri bir süreliğine sunucudan bağımsız olarak da yapabilir ve nasıl çalışacağına internet bağlantısının durumuna bakarak kendisi karar verebilirim.

Hepinize kolay gelsin...

Sunday, January 04, 2009 9:32:28 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]   IE 8.0  | 
Copyright © 2010 Daron Yöndem. Tüm hakları saklıdır.