| | #1 (permalink) |
| PhotoshopUzmanı Kurucusu ![]() Üyelik Tarihi: Feb 2007 Bulunduğu Yer: C:\Program Files\Adobe\Adobe Photoshop CS2 Yaş: 23 Mesajlar: 5.378
Teşekkür Et: 175
Thanked 2.165 Times in 945 Posts
Resimler: 38 Tecrübe Puanı: 10 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Internet Explorer ve Flash'lardaki Çerçeve (Aktivasyon) Sorunu ![]() Halen çok sayıda eski ve yeni yapılan web sitesinde Flash animasyonlar ve Internet Explorer arasındaki sorun devam ediyor. İlk önce sorun nedir ve nerden çıktı? ona bakalım. Flash'lı bir sayfada aminasyonun üzerine geldiğinizde gerekli düzenlemeler yapılmadığı için Internet Explorer ile siteye giriş yaptığınızda düğmeye iki kere tıklamanız gerekiyor. Birinci tıklamayı Flash animasyonunu aktive etmek için, ikinciyi de aktive edilmiş animasyona tıklayabilmek için yapmanız gerekiyor. Bu sorun sadece Internet Explorer için geçerli. 11 Nisan 2006 tarihinde Microsoft tarafından bir yama çıkarıldı ve tüm Windows'lara Windows Update aracılığı ile yüklendi. Microsoft, ActiveX objelerinin Internet Explorer'daki çalışma yapısını değiştirmek durumunda kaldı. Bu durum da sayfalarımıza eklediğimiz Flash objelerini etkiledi. Peki Microsoft neden bunu yaptı? Özetle patent sorunları diyebiliriz. Konuyla ilgili makaleyi (İngilizce) buradan inceleyebilirsiniz. Eolas ve California Üniversite'ine ait patent nedeniyle web sayfaları içerisine ActiveX ile dinamik içerik, animasyon eklenmesini sağlayan Microsoft 521m$ cezaya çarptırıldı. Sonuç olarak yukarıdaki manzara ortaya çıktı. Peki bu sorundan nasıl kurtulabiliriz? Çözüm basit, sayfanın içerisine direk ActiveX objeleri eklemeyeceğiz. Ekleme işlemini JavaScript ile istemci tarafında yapacağız. Bunun için Flash objemizi sayfaya yerleştirecek olan HTML kodunu JavaScript ile sayfaya yazan bir JavaScript fonksiyonu tanımlayarak harici bir JavaScript dosyasına yerleştirmemiz gerekiyor. Yukarıdaki JavaScript fonksiyonu HTML kodunu document.write() JavaScript metodu ile sayfaya yazıyor. Bu fonksiyonu flash.js adında bir metin dosyasına kaydediyoruz. Flash animasyonu kullanacağımız sayfa ile aynı klasöre koyuyoruz. Kod içerisinde yer alan HTML kodundaki flash animasyon dosyasına ait dosya adını ve boyut bilgilerini kendi sitenize uygun şekilde değiştirebilirsiniz. Sıra geldi içerisinde yukarıdaki fonksiyonumuzun yer aldığı dosyayı sayfamıza eklemeye. <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript" type="text/javascript" src="flash.js">script> <title>Örnek Sayfa </title> Yukardaki şekli ile sayfamızın Header kısmına JavaScript dosyamızı linkledik. Böylece dosya içerisinde fonksiyonları sayfamızda kullanabileceğiz. Hazırladığımız fonksiyonun adı GetLogo şeklindeydi. Flash animasyon sayfada nereye eklenecekse oraya aşağıdaki kodu yazmamız gerekiyor. <script language="javascript" type="text/javascript">GetLogo()script> Sayfamızın tam kodu aşağıdaki şekilde olacaktır. DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtm...sitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script language="javascript" type="text/javascript" src="flash.js">script> <title>Örnek Sayfatitle> head> <body> <div style="position: absolute; left: 20px; top: 50px;"> <script language="javascript" type="text/javascript">GetLogo()script> </div> Yukarıdaki örnek içerisinde bir katman (div) içine flash animasyonumuzu yerleştiriyoruz. Gerekli HTML kodunun belgenin o kısmına yerleştirilmesi için önceden hazırlamış olduğumuz JavaScript fonksiyonunu çalıştırıyoruz. Tabi ki bir JavaScript fonksiyonu çalıştırabilmek için komutumuzu script tagları arasına koymalıyız. Çözümümüz tamamlandı fakat yukarıdaki sistem farklı durumlarda sorun çıkartabilir. Örneğin hedef internet tarayıcı JavaScript desteklemiyorsa sistem çalışmayacaktır. Tüm tarayıcılara uygun bir sistem için aşağıdan indirebileceğiniz Adobe'a ait JavaScript dosyasını kullanabilirsiniz. Söz konusu dosyayı makalenin sonundaki download paketinde bulabilirsiniz. Dosyanın adı AC_RunActiveContent.js şeklinde. Yukarıdaki, bizim hazırladığımız JavaScript dosyası yerine bu dosyayı sitemize ekleyeceğiz. Ekledikten sonra da aşağıdaki JavaScript kodu ile animasyonu sayfamıza yazdıracağız. <script type="text/javascript"> AC_FL_RunContent('codebase', 'http://download.macromedia.com/pub/s...ve/cabs/flash/ swflash.cab#version=9,0,28,0', 'width','786','height','241','src','banner','quality','high','pluginspage', 'http://www.adobe.com/shockwave/downl...waveFlash', 'movie','banner' );//end AC code </script> Kullandığımız JavaScript fonksiyonu Adobe tarafından hazırlanmış bir fonksiyon. Sayfamıza eklediğimiz AC_RunActiveContent.js dosyası içerisinde bulunuyor. Fonksiyonun aldığı parametreler arasında kalın yazılmış olanlara dikkat etmekte fayda var. Bunlar Flash animasyonun yüksekliği, genişliği ve dosya adını içeriyor. Adobe tarafından hazırlanmış olan bu fonksiyonu farklı tarayıcılarla ilgili uyumluluk sorunlarını halledecektir. Son olarak JavaScript desteklemeyen tarayıcılar için de aşağıdaki kodu sayfamıza yerleştireceğiz. Fakat unutmamakta fayda var, eğer tarayıcının JavaScript desteği kapatılmışsa maalesef Internet Explorer'da Flash animasyonlarda aktivasyon talebi devam edecektir. Sonuç olarak tam çözümümüzün kodu aşağıdaki şekilde sonlanıyor. DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtm...sitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Untitled 1title> <script language="javascript" type="text/javascript" src="AC_RunActiveContent.js">script> </head> <body> <div style="position: absolute; left: 20px; top: 50px;"> <script type="text/javascript"> AC_FL_RunContent('codebase', 'http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=9,0,28,0', 'width','786','height','241','src','banner','quality','high','pluginspage', 'http://www.adobe.com/shockwave/downl...waveFlash', 'movie','banner' );//end AC code </script> <noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=9,0,28,0" width="786" height="241"> <param name="movie" value="banner.swf"/> <param name="quality" value="high"/> <embed src="banner.swf" width="786" height="241" quality="high" pluginspage="http://www.adobe.com/shockwave/downl...hockwaveFlash" type="application/x-shockwave-flash">embed> </object> </noscript> </div> Makale boyunca kullandığımız tüm dosyaları ve örnekleri aşağıdaki download paketine bulabilirsiniz. Kolay gelsin. 27042007_2.rar - Örnekler (12.37 KB)
__________________ ![]() ARAMASIN GÖZLER O ŞİMDİ ASKER!.. |
| | |
| Sponsored Links |
| |
![]() |
| Konu Seçenekleri | |
| Modları Göster | |
| |
Okuduğunuz Konuya Benzer Konular | ||||
| Konu | Konuyu Açan | Forum | Cevaplar | Son Mesaj |
| Photoshopta Resme Çerçeve Koymak | lordmrkoray | Sorularınız, Görüşleriniz ve İstekleriniz | 7 | 04-24-2008 14:55 |
| Çerçeve Fırçaları | HAKAN | Brush | 3 | 01-11-2008 11:19 |
| Siteye giriş sorunu ? | aakgun78 | Sorularınız, Görüşleriniz ve İstekleriniz | 1 | 09-30-2007 12:21 |
| Şifre sorunu | Azz34 | Sorularınız, Görüşleriniz ve İstekleriniz | 1 | 08-17-2007 18:49 |
| Enflasyon ve Trafik'ten sonra şimdi de Internet Canavarı | HAKAN | Çeşitli Makaleler | 0 | 03-04-2007 22:59 |