Bu konu hakkında daha önce de soru gelmişti ve çözümünü eski Manhem’de yazmıştık. Fakat bu sorunu yaşayanlar Google’da arama yaparak Manhem’e gelip, ilgili yazıyı bulamayınca yine soru mailleri gelmeye başladı. Evet son zamanların moda I.E. problemi: Flash animasyonu içeren bir sayfayı gezerken, animasyonun tıklamadan etkinleşmemesi/çalışmaması, tasarımcıları ve kullanıcıları çıldırtıyor olmasından söz ediyoruz. Gelen sorulara her defasında yeniden yazmak yerine tüm çözümleri burada toplayayım istedim.
Problemin kaynağı Microsoft‘a açılan bir lisans davasına dayanıyor. Microsoft’ta buna çözüm olarak yeni çıkardığı bir patch ile update edilen tüm Windows’lardaki I.E. sürümlerine bu özelliği eklemiş durumda. Yani kullanıcı bir sayfada ActiveX denetimi kullanmak istiyorsa bilinçli olarak kendi aktif etmek zorunda. Internet Explorer 7‘de de bu özellik default olarak geldi. Eğer ActiveX denetimlerini kapatırsanız sorun olmayacaktır. Ya da Firefox kullanabilirsiniz
Ancak sorunu çalışma stili olarak object, embed gibi tagler yerine JavaScript ile yine içeriği etkilenmeden çalıştırabiliyorsunuz. Zira patent HTML dökümanları ile ilgili olduğu için harici js dosyalarından oluşturulan içerik problem oluşturmuyor. Kendi yaptığınız Flash’lı sitelerde ise bu problemi yaşamak istemiyorsanız, şurada ve burada birkaç çözüm belirtilmiş. Ya da bu yamanında yamalarının, yamalarını -böyle gider bu. Microsoft Style :)- yükleyebilirsiniz. Ama daha kısa bir çözüm istiyorsanız sorunu şöyle çözebilirsiniz:
Bir .js dosyası (mesela sayfayukle.js) oluşturup içine şu JavaScript kodlarını ekleyin:
function RunOnLoad() {theObjects = document.getElementsByTagName("object");
for (var i = 0; i < theObjects.length ; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}
}
Sonrada bu js dosyasını Flash’ı kullandığınız sayfanın bölümünde çağırın:
<script type="text/javascript" src="script/swfyukle.js"></script>
Son olarak body etiketimize:
onLoad="RunOnLoad();"
özelliği kazandırırsak artık böyle bir sorunumuz kalmayacaktır.
Bir de Dreamweaver kullananlar 8.02 güncellemesini yaparlarsa -ki 8.01 güncellemesini yapmayanlarda bu update ile ikisini birden yapmış oluyor- artık sitelerine Flash eklerken veya varolan kodlarını düzenlerken, Dreamweaver kodlarını bu sorunu aşabilecek şekilde düzenliyor olacak. Geçmiş olsun.

Sayfanın en altında çalıştırılmasının sebebi sayfanın istemciye yüklenmiş olması ile ilgili. Bunun yerine şu da yapılabilir:
<script type="text/javascript" language ="javascript">function RunOnLoad() {
theObjects = document.getElementsByTagName("object");
for (var i = 0; i < theObjects.length ; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}
}
</script>
Sonrasında <head> tag’leri arasına:
<script type="text/javascript" src ="script/swfyukle.js"></ script>Sonra da "body" tag’ ine:
<body onLoad="RunOnLoad();">Kolay gelsin.
Allah razı olsun, saat sabahın 4.30′u, çıldırmaktan öte bir haldeydim ve imdadıma yetiştiniz gerçekten teşekkürler…
Bu trick’leri eminim Microsoft çalışanlarıda yapıyordur. Güvenlik için miş miş? Zaten Applet, Flash nesneleri browserdan güvenlik gerektirecek bir şeye erişeceği zaman uyarı alınıyor? Bir tık mı önüne geçecek? Asıl URL değişmeden JavaScript redirect yapımı var link bulursam göstereyim. Böyle şeyler tehlikeli.
Konuyla ilgili bir sürü değişik çözüm buldum. Sanırım sizin çözümünüzden daha kısa ve kolay bir çözüm yok. Teşekkürler…
Keşke .js dosyasını da nasıl çağıracağımızı açıklasaydınız. Ama yine de güzel. Teşekkürler…
Gerçekten Fırat’ın dediği gibi nasıl çağıracağız onu da söyleseydin
Yukarıda geçiyor arkadaşlar nasıl çağıracağınız.