Anasayfa
| IE ActiveX Denetim Sorunu


  İnternet Explorer ActiveX Denetim Sorunu (2)

<-- 1 .Bölüm         3.Bölüm --->



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 (bu kodları görebilmek için html sayfasını açın ve ana menüdeki Görünüm-->Kaynak kısmını seçin) :

<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) {
alert("This page requires AC_RunActiveContent.js. In Flash, run \"Apply Active Content Update\" in the Commands menu to copy AC_RunActiveContent.js to the HTML output folder.");
} else {
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
'width', '550',
'height', '400',
'src', 'bb',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'bb',
'bgcolor', '#ffffff',
'name', 'bb',
'menu', 'true',
'allowScriptAccess','sameDomain',
'movie', 'bb',
'salign', ''
); //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=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

 

<-- 1 .Bölüm         3.Bölüm --->