Bölüm 1 İnternet Explorer6 ve 7 de ActiveX denetim sorunları ortaya çıkmıştır. Buna bağlı olarak bir html sayfası içindeki swf dosyası üzerine fare ile gelindiğinde activeX denetimini etkinleştirmek için sahneye bir kez boş tıklama veya klavyeden enter tuşuna basma uyarısı gözlenir. Bu sorunu halletmek için javascript kodlarından yararlanılmaktadır. Dreamweaver 8 kullananlarda 8.02 guncellemesi ile bu sorun aşılmaktadır. gerekli kodları dreamweaver otomatik olarak oluşturmaktadır. Şayet dreamweaver kullanmıyorsanız çözüm için flash programının kendisini kullanabilirsiniz. Yapmanız gereken tek şey FlashActiveContent_en. mxp isimli extensiyonu flash`a entegre etmenizdir. Bu dosyayı ekteki linkten indirebilirsiniz. ekteki dosyayı indirdikten sonra zip dosyasından çıkartın ve üzerine çift tıklayarak çalıştırın. Alttaki pencere ortaya çıkar: Accept butonuna basarak onaylayın: Extension yüklenir tamam tuşuna basın. çalışmanın yüklendiğini gösteren üstteki panel açılır. Yükleme tamamlanmıştır, paneli kapatabilirsiniz. Şimdi bilgisayarınızda hazırlamış olduğunuz fla dosyasını açın. Ana menüden File-->Publish Settings alanına tıklayın. Açılan panelden HTML sekmesine tıklayın. HTML özelliklerini gösteren panelin en üst kısmında Template alanına bakın. Burada varsayılan deger Flash Only şeklindedir. menüyü açın ve active content update-HTML kısmını seçin. şayet sayfanız https ise bir alt seçenek olan active content update-HTMLS seçeneğini kullanın. Publish ve sonra OK butonuna basın. Flash size kod eklentisi yapılmış html sayfasını hazırlayacaktır. Henüz işlem bitmiş değil. Kodları çalıştıracak harici bir js dosyası oluşturmamız gerekiyor. Yine flash ana menüden Commands --> Apply Active Contetnt Update kısmını seçin: Onaydan sonra alttaki panel açılır: Uygulamanın yapılacağı html sayfanızın seçilmesi gereklidir. Az evvel oluşturduğunuz html saysını tıklayarak seçin Aç butonuna basın. Uygulamanın tamalandığını gösteren alttaki panel açılır. Tamam butonuna basın. Artık işlem tamamlanmıştır. Fla dosyanızı kaydedin ve bulunduğu dizine bakın: Üstteki resimde de göreceğiniz gibi flash activeX sorununu çözmek için html sayfasına gerekli eklentileri yapmış ve bunun çalışması için AC_RunActiveContetnt. js dosyasını oluşturmuştur. Swf, Html ve Js dosyanızı servera gönderdiğinizde denetim sorunu çözülecektir. Aynı dizindeki diğer Html sayfaları da aynı js dosyasını kullanır. Üstteki uygulamaları düzgün yaptığınızda serverdaki aynı dizinde tek bir js dosyası sorunlarınızı düzeltecektir. Bölüm 2 1. sayfada anlatılan yöntemlerde flash html sayfasında şu değişiklikleri yapmaktadır: bb. swf isimli bir çalışmayı içeren html sayfasında normalde alttaki gibi eklentiler yapılır : <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash. cab#version=8,0,0,0" width="550" height="400" id="bb" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="bb. swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="bb. swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="bb" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> Burada bb. swf dosyasının özellikleri barındırılmaktadır. İlk sayfada anlatıldığı gibi extension uygulamasından sonra ilk yaptığımız işlem Publish Settings kısmında html sekmesine geçip Template kısmını Active Content Update-HTTP şeklindeydi. Bu işlemi tamamladığımızda html sayfasında yukarıda yazdığımız kodlar aşağıdaki gibi değişecektir. <script language="javascript"> if (AC_FL_RunContent 0) else </script> <noscript> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash. cab#version=8,0,0,0" width="550" height="400" id="bb" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="bb. swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="bb. swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="bb" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> </noscript> Yapılan eklentiler kırmızı ile belirlenmiştir. script tagları arasındaki kodları incelerseniz swf dosyasının tüm özelliklerinin bir javascript içine kaydodulduğunu görürsünüz. Bu kodlar daha sonra oluşturulacak olan js kodları ile beraber hem swf dosyasının tüm özellikleriyle sayfaya yüklenmesini sağlar hem de activeX denetim sorununu ortadan kaldırır. Mavi ile yazılan herkesin aşina olduğu kodların baş ve sonuna noscript tagları eklenmiştir. Bu eklentilerin arasında yazılan tüm kodlar html sayfası tarafından yorumlanmazlar. Yani bu kodlar yok kabul edilir. Şimdi madem ki bu kodlar yok kabul ediliyor o zaman bunları silersek ne olur? Tahmin ettiğiniz gibi hiçbirşey değişmez. Swf dosyasının yüklenmesi ve yorumlaması artık tamamen javascript kodları ile oluşturulmaktadır. Bu hoş olmasa da şu anda bulunan tek çözüm budur. Deneme amaçlı çalışmanızdaki noscript tagları da dahil olmak üzere içindeki kodları sildiğinizde html sayfasının swf dosyasını sorunsuz bir şekilde yüklediğini göreceksiniz. Peki bu kodları silmeyip sadece <noscript> ve </noscript> taglarını silerseniz ne olur? Bu durumda html sayfası javascript kodları sayesinde bb. swf dosyasını yükler. noscript tagı kaldırıldığı için html sayfası buradaki kodları da yorumlar ve yine bb. swf dosyasını yükler. Bu durumda sayfaya 2 adet bb. swf dosyası yüklenmiş olur. Tek fark javascript kodları ile yüklenende activeX denetim sorunu yoktur, ikinci yüklenen de ise vardır. Flashseverlerin bir javascript koduna ihtiyaç duyması rahatsız edici olsa da buluna yöntem anlatıldığı gibidir. İilerideki sürümlerde bu iki firmanın soruna uygun çözüm bulmalarını ummaktayız. Şimdi 2. sorunumuz bir html sayfasında birden fazla swf dosyası varsa ne yapılacağıdır devamı...