Anasayfa
| IE ActiveX Denetim Sorunu


  İnternet Explorer ActiveX Denetim Sorunu (3)

<-- 1 .Bölüm        



Bir html sayfasına birden fazla swf dosyası yüklenmesi durumunda activeX sorununu halletmek daha sıkıntılı bir durumdur.Bu işlemde manuel uygulamalara ihtiyaç vardır.Umarım anlatılanlar size karışık gelmez.Şimdi senaryomuz şöyle:

Elimizde index.html diye bir sayfamız var ve bu sayfa içine aa.swf ve bb.swf isimli 2 dosya yüklemeyi planlıyoruz.

1.sayfa html sayfası içindeki tek bir swf dosyaı için yapılacaklar anlatılmıştı.Önce buradaki işlem yürürlüğe konulacak.

1- aa.fla dosyanızı açın 1.sayfada anlatılan yöntemleri uygulayarak aa.html sayfasını oluşturun.Bu işlemi düzgün yaptığınızda aa.html sayfasında activeX denetim sorunu ortadan kalkar.

2- Aynı işlemi bb.fla dosyasını açarak uygulayın ve sorunsuz olan bb.html sayfanızı oluşturun.

3- Biz burada oluşturulan aa.html ve bb.html sayfasını kullanmayacağız.Bu iki swf dosyasını index.html sayfasına yükleyeceğiz.Peki bu 2 html sayfasını niye oluşturduk? Amacımız bu sayfaların kaynak kodları açarak index.html sayfasında kullanmaktır.Bunun nasıl yapılacağı aşağıda anlatılacaktır.

4- Şu anda elimizde aa.html, bb.html,aa.swf,bb.swf, AC_RunActiveContent.js ve index.html sayfamız mevcut. İndex.html sayfasında istediğimiz alanlara bu 2 swf dosyasını ekleyelim.İndex.html sayfasında hiçbir eklenti olmadığından activeX denetim sorunu vardır.Kaynak kodlara baktığımızda alttaki gibi bildik kodları görürsünüz:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
<param name="movie" value="aa.swf">
<param name="quality" value="high">
<embed src="aa.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

</p>
<p>&nbsp;</p>
<p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
<param name="movie" value="bb.swf">
<param name="quality" value="high">
<embed src="bb.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

üstte gördüğünüz gibi aa ve bbswf dosyaları alt alta eklenmiştir.Şimdi bunlara manuel olarak tek tek javascript kodlarını ekleyeceğiz.

aa.html sayfanızı çift tıklayarak açın ve Görünüm menüsünden kaynak kodlara ulaşın:

body alanı içinde script tagları arasındaki kaynak kodları kopyalayıp index.html sayfasındaki yukarıda gösterilen kodların üzerine yapıştırın. Birde yine ilk sayfada anlatılan klasik eski kodları devreden çıkartmak için nocript taglarını unutmayalım.

<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', 'aa',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'aa',
'bgcolor', '#ffffff',
'name', 'aa',
'menu', 'true',
'allowScriptAccess','sameDomain',
'movie', 'aa',
'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=7,0,19,0" width="550" height="400">
<param name="movie" value="aa.swf">
<param name="quality" value="high">
<embed src="aa.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

</noscript>
</p>
<p>&nbsp;</p>
<p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
<param name="movie" value="bb.swf">
<param name="quality" value="high">
<embed src="bb.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

Yukarıdaki kodlarla index.html sayfasında aa.swf dosyasındaki sorun düzeltilmiş olur.Kalın kırmızı harfle yazılan noscript taglarını unutmayınız.Bu eklenmezse daha önce de anlattığım gibi aynı swf dosyası 2 kez yüklenir. bb.swf dosyasındaki sorunu çözmek için yine aynı uygulama yapılmalıdır. bb.html sayfasının kaynak kodları kopyalanır ve bb.swf dosyasının bulunduğu alanın hemen üzerine yapıştırılır.Yani:

// aa.swf dosyası için gereken javascript kodları
<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', 'aa',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'aa',
'bgcolor', '#ffffff',
'name', 'aa',
'menu', 'true',
'allowScriptAccess','sameDomain',
'movie', 'aa',
'salign', ''
); //end AC code
}
</script>

// Klasik aa.swf dosyası kodlarının okunmaması için noscript tagı eklenir
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
<param name="movie" value="aa.swf">
<param name="quality" value="high">
<embed src="aa.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

</noscript>
</p>
<p>&nbsp;</p>
<p>

// bb.swf dosyası için gereken javascript kodları
<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>


// Klasik bb.swf dosyası kodlarının okunmaması için noscript tagı eklenir
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
<param name="movie" value="bb.swf">
<param name="quality" value="high">
<embed src="bb.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>

</noscript>

Şimdi sorun düzelmiştir.Her iki swf dosyasındaki sorun da düzeltilmiş olur.Pratik değilse de uygulanması gereken yöntem şimdilik böyledir.

 

 

<-- 1 .Bölüm